Nacos 2.2.3 Docker 集群搭建

843 阅读1分钟

1.说明

版本信息:2.2.3
nacos的集群需要3台机器,假定机器上Docker环境已安装,Ip分别为192.168.50.9、192.168.50.18、192.168.50.245,最终部署图如下

nacos.png

2.Nacos集群安装

2.1 初始化Nacos数据库

将Nacos提供的数据库脚本mysql-schema.sql找任意数据库进行导入,或者可以使用PXC方案下的数据库。

2.2 启动集群

根据实际部署,调整NACOS_SERVERS配置,以及连接的mysql配置,使用的网络模式是host,这样Nacos之间通讯就解决了。 3台机器分别执行如下命令

docker run -d -p 8848:8848 -p 7848:7848 -p 9848:9848 -p 9849:9849 \  
-v /home/nacos/logs:/home/nacos/logs \  
-v /etc/hosts:/etc/hosts \  
-e MODE=cluster   \  
-e NACOS_SERVERS="192.168.50.9:8848 192.168.50.18:8848 192.168.50.245:8848" \  
-e SPRING_DATASOURCE_PLATFORM=mysql \  
-e NACOS_AUTH_ENABLE=true \  
-e NACOS_AUTH_IDENTITY_KEY=linxxx \  
-e NACOS_AUTH_IDENTITY_VALUE=linxxx \  
-e NACOS_AUTH_TOKEN=linxxxlinxxxlinxxxlinxxxlinxxxlinxxxlinxxxlinxxxlinxxxlinxxx \  
-e MYSQL_SERVICE_HOST=192.168.50.123 \  
-e MYSQL_SERVICE_PORT=23306 \  
-e MYSQL_SERVICE_DB_NAME=nacos_config \  
-e MYSQL_SERVICE_USER=root \  
-e MYSQL_SERVICE_PASSWORD=3er4#ER$ \  
--restart unless-stopped --net=host --name nacos-cluster nacos/nacos-server:v2.2.3

2.3 验证

需要3台同时启动,等待集群通讯完成后可以使用如下命令查看日志

docker logs nacos-cluster

image.png

2.4 Nginx的配置

 stream {
        upstream nacos-cluster {
        server 192.168.50.9:9848;
        server 192.168.50.18:9848;
        server 192.168.50.245:9848;
       }
    server{
        listen 8800;
        proxy_connect_timeout 20s;
        proxy_timeout 5m;
        proxy_pass nacos-cluster;
    }
   }
      server {
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      listen       7800;
   	upstream nacosserver {
	    server 192.168.50.9:8848;
		server 192.168.50.18:8848;
		server 192.168.50.245:8848;	
	}
        
        location /nacos/ {
		proxy_pass http://nacosserver/nacos/;
	}
       }

配置文件说明,对于8800端口的Tcp监听是因为有客户端使用grpc跟nacos进行连接,因为这边http监听的是7800端口,根据Nacos的+1000原则所以是配置了8800。

3.最后说明

对于2.2.3的nacos连接,客户端需要在连接时候指定账密了,否则会出现连接失败的。

image.png
关于Nginx与Keepalived的安装,后续补充。