rancher2.x 与 rancher1.x 的区别是2.x 是基于 k8s 进行容器编排的在容器创建及管理时需要用到 k8s 相关的基础知识,而1.x 在容器创建编排时只需要参考 docker 原生命令即可。
基于 k8s 安装 nacos 集群可以参考官方资料 https://nacos.io/en-us/docs/use-nacos-with-kubernetes.html
rancher2.x 是 k8s 是可视化编排工具,这里主要介绍无需命令及编写复杂的配置文件安装 nacos 集群的方案。
1、方案
此示例以3个节点的 nacos 集群(nacos-1,nacos-2,nacos-3)为例,在 k8s 中创建3个容器,使其自动选择 LEADER 节点,然后配置负载以提供连接及 界面访问。
2、基础配置
配置 custom.properties 内容,这个直接从官网复制,然后在 rancher 中配置映射
在添加界面 键填写 custom.properties
,值填写
#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for prometheus
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
# metrics for elastic search
#management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for influx
#management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true
然后保存
3、部署集群节点
3.1 基础
添加三个负载节点
参照上图 名称 名称输入 nacos + 序号
以便区分,docker 镜像 nacos/nacos-server:latest
,然后三个节点最好在同一个命名空间下。
3.2 环境变量
变量说明如下
变量名称 | 说明 | 选项 |
---|---|---|
MODE | cluster/standalone | cluster/standalone default cluster |
NACOS_SERVERS | 集群地址表 | eg. nacos-1:8848 nacos-2:8848 nacos-3:8848 |
PREFER_HOST_MODE | 主机连接模式 hostname/ip | default ip,由于 k8s pod 容器的 IP 默认是由 k8s 控制的动态 IP 我们在容器中无法指定 IP,所以这里使用 hostname 主机名模式 |
NACOS_SERVER_PORT | 服务端口 | default 8848 |
NACOS_APPLICATION_PORT | 应用端口 | 与NACOS_SERVER_PORT一致即可 |
NACOS_SERVER_IP | 如果用的是 IP 模式且为多个网卡时则需要指定使用到的 IP | |
SPRING_DATASOURCE_PLATFORM | 数据库支持 | mysql / empty default empty |
MYSQL_SERVICE_HOST | MYSQL 主机地址 | |
MYSQL_SERVICE_DB_NAME | mysql 主机端口 | default : 3306 |
MYSQL_SERVICE_PORT | mysql 数据库名称 | |
MYSQL_SERVICE_USER | mysql 数据 库用户名 | |
MYSQL_SERVICE_PASSWORD | mysql 数据库密码 | |
SERVICE_NAME | 服务名 | 我填的是命名空间名称 |
NACOS_REPLICAS | nacos 副本数 | 填3 |
NACOS_CLUSTER_NAMES | 集群名称表 |
3.3 数据卷
映射配置
映射磁盘(PVC)
主机名配置
点击右下角显示高级选项
展开
打开网络
选项,在主机名填入与名称对应的 主机名
主机名与环境变量 NACOS_SERVERS
中的对应
配置完后点击启动
4、服务发现
服务发现配置好以后,在其它业务容器中访问方式如下
nacos-server.supporting:8848
5、负载均衡
页面访问配置
域名可以在本机配置 hosts 文件,做主机名映射
然后浏览器访问
可以看到集群中有三个节点,其中 nacos-1
为LEADER 节点