代码改变世界

分享:docker swarm集群搭建

2018-03-30 16:38  墨叶凌枫  阅读(307)  评论(0编辑  收藏  举报
[Y_H]实践原创
三台虚拟机:1台centOS , 2台ubuntu。
 
网上有用docker-machine创建虚拟机做的例子。
 
这里直接用VMware创建这三台虚拟机,然后用xshell连接三台虚拟机。作为理解之后的例子实践。
 
坑:
1.利用镜像swarm,搭建swarm集群,创立了连接,但是节点不能识别,报错较多,且不易解决。
2.在建立好manager管理节点后,其他机器在执行docker swarm join命令时会报错:
Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable,
这个错误的原因是manager上的节点的防火墙处于打开状态,这个连接的端口其他机器无法访问。
 
 
1.创建swarm集群,manager(centOS)上执行操作如下:
 
[root@krdevd ~]# docker swarm init --advertise-addr 192.168.43.130:2377
Swarm initialized: current node (i4msay5uw65sl7v0vkrvkh2kz) is now a manager.

  

显示类似下面的内容:
To add a worker to this swarm, run the following command:
 
    docker swarm join \
    --token SWMTKN-1-2hvx4y34iizsl7nineenmv9zqaqh954mgcgus1leu8125dgppo-agpddu8kx7k1anyxnjx47vhfr \
    192.168.43.130:2377
 
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

 

 
2.关闭manager(centOS)上的防火墙(应对坑2):
[root@krdevd ~]# firewall-cmd --state
running
[root@krdevd ~]# systemctl stop firewalld.service
[root@krdevd ~]# firewall-cmd --state
not running

 

 
3.将另外两台ubuntu机器加入集群:
加入worker1:
root@ubuntu:~#   docker swarm join \
    --token SWMTKN-1-2hvx4y34iizsl7nineenmv9zqaqh954mgcgus1leu8125dgppo-agpddu8kx7k1anyxnjx47vhfr \
    192.168.43.130:2377
This node joined a swarm as a worker.

 

同样的操作在另一台ubuntu上执行该命令。加入worker2.
 
4.查看docker node运行情况
[root@krdevd ~]# docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
i4msay5uw65sl7v0vkrvkh2kz *  krdevd    Ready   Active        Leader
jxktyger0gylzeytub81cb4ay    ubuntu    Ready   Active        
znyj4k5kfjs562nd6x7ho7ji7    ubuntu    Ready   Active     

 

 
5.开启nginx服务测试集群,可以在三台虚拟机的80端口访问nginx的起始页。   
[root@krdevd ~]# docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine
107y9n9ikbuzj1mo5lzrv6ljw
[root@krdevd ~]# docker service ls
ID            NAME   MODE        REPLICAS  IMAGE
107y9n9ikbuz  nginx  replicated  3/3       nginx:1.13.7-alpine