Rancher2.x 集群部署nacos cluster1.1.4

# deploy-nacos-ranche2.x

#### 介绍

本项目描述在Rancher2.x平台上,如何实现nacos高可用模式的部署教程。在完成此项工作前,查阅了nacos官网资料,官网提供k8s部署的项目,但无法顺利部署到Ranche2.x平台上,主要原因其镜像在openjdk1.8版本上有些定时器无法定时触发运行,还有无法使用外部Mysql、nacos多节点在pod容器下无法通过容器主机名访问,导致nacos无法达到集群的效果。为此,在nacos 1.1.4版本上我做了一定源代码上的修改(具体见另一项目 [rancher2.x-nacos](https://gitee.com/tanks_oracle/rancher2.x-nacos.git)),主要能够通过外部配置的参数动态获取对应到ip:端口后,更新至conf/cluster.conf文件,nacos应用会自动加载这个文件,动态加载到节点列表中。  

#### 软件架构

Rancher2.x 集群部署nacos cluster1.1.4_第1张图片

#### 构建镜像步骤(前提本地已安装Docker)

1.  克隆项目至本地 git clone https://gitee.com/tanks_oracle/deploy-nacos-ranche2.x.git

2.  切换到build/oracle_jdk目录,执行 docker build -t  172.16.xxx.xx/spring_cloud/jdk:8 . (私服harbor地址自行更换)

提示:由于oracle java sdk 非常大,不太好提交到gitee上,建议自行百度下载jdk-8u151-linux-x64.tar.gz保存到build/oracle_jdk下

3.  推送镜像至Harbor私服 docker push 172.16.xxx.xx/spring_cloud/jdk:8

4.  切换到build/nacos目录,修改Dockerfile文件,将以下代码改成自己的Harbor私服地址

```

# 基础镜像为 centos 此处改成你本地私服的镜像地址

FROM 172.16.xxx.xx/spring_cloud/jdk:8

```

5. 构建自定义nacos镜像,执行命令: docker image build --tag  172.16.xxx.xx/spring_cloud/nacos .

6. 推行镜像至harbor私服,执行命令: docker push 172.16.xxx.xx/spring_cloud/nacos:latest

#### Rancher2.x 平台上部署nacos

1. Rancher2.x应用商店安装nfs-client-provisioner应用,安装完成后系统会自动创建生产存储累StorageClass,配置参数如下


Rancher2.x 集群部署nacos cluster1.1.4_第2张图片

2. 在集群工作负载中,部署nacos集群节点分别为nacos-server-node0、nacos-server-node1、nacos-server-node2...,截图:


Rancher2.x 集群部署nacos cluster1.1.4_第3张图片


Rancher2.x 集群部署nacos cluster1.1.4_第4张图片
Rancher2.x 集群部署nacos cluster1.1.4_第5张图片

3. 3个nacos工作负载部署完成,截图如下


Rancher2.x 集群部署nacos cluster1.1.4_第6张图片
Rancher2.x 集群部署nacos cluster1.1.4_第7张图片

4. 在集群服务发现中,添加nacos-server服务,截图如下


Rancher2.x 集群部署nacos cluster1.1.4_第8张图片

5.若想在Rancher2.x平台外也想使用rancher2.x内已经部署好的nacos集群服务,可以在集群里创建负载均衡

nacos集群部署完后,在rancher2.x里的应用如spring boot、spring cloud、spring cloud alibaba等应用都可以以nacos-server:8848来访问,平台外访问则可以通过负载均衡方式访问,如spring cloud使用nacos配置代码实例如下:

```

#注册服务、配置服务

spring.application.name=main-app

spring.cloud.nacos.discovery.server-addr=nacos-server:8848

```

你可能感兴趣的:(Rancher2.x 集群部署nacos cluster1.1.4)