安裝之前的環境:
兩個節點,節點1:192.168.101.14,用來建立manager1 machine,節點2:192.168.101.15,被節點1通過遠端建立work1 machine
兩個節點環境:都是基於centos7,節點1安裝了docker daemon,節點2沒有安裝任何docker環境(節點1通過generic驅動來安裝machine)
1、在節點1上安裝docker-machine
[root@docker tools]# mv docker-machine /usr/local/bin/ [root@docker bin]# chmod +x docker-machine
docker-machine的二進位制檔案通過之前的文章進行下載,這裡不詳述了,安裝好docker-machine之後,為節點1建立manager1 machine
[root@docker ~]# ssh-keygen [root@docker ~]# ssh-copy-id root@192.168.101.14 將key傳給自己 [root@docker ~]# docker-machine create -d generic --generic-ip-address=192.168.101.14 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root manager1
由於是在節點1本機上建立machine,所以key傳給自己,現在在節點1上通過docker-machine為節點2建立work1 machine
[root@docker ~]# ssh-copy-id root@192.168.101.15 將key傳給15 [root@docker ~]# docker-machine create -d generic --generic-ip-address=192.168.101.15 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root work1
這樣操作之後,能夠在節點2(192.168.101.15)上安裝docker、docker-machine等環境
2、檢視建立完成後的machine:
[root@manager1 ~]# docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS manager1 - generic Running tcp://192.168.101.14:2376 v17.09.0-ce work1 - generic Running tcp://192.168.101.15:2376 v17.10.0-ce
3、在manager1節點上建立swarm,並將manager1節點作為swarm的管理節點:
[root@manager1 ~]# docker swarm init --advertise-addr 192.168.101.14
4、建立的swarm有一個manager1節點,也就是管理節點了,現在為swarm新增一個work節點,將work1節點新增到swarm叢集中:
[root@work1 ~]# docker swarm join --token SWMTKN-1-3fcp657en1bt3kemq4okp411fzxsoet5ayvvos1ipxlogliejr-3qznuxm91ccgx0rgx6zhg6h4z 192.168.101.14:2377 This node joined a swarm as a worker.
在主機192.168.101.15也就是work1節點上執行此命令(將自己work1節點新增到swarm中去)
如果不知道新增work節點的命令,可以通過在manager1節點上執行下面命令,檢視具體新增work節點的命令:
# docker swarm join-token worker
將得到後的命令結果在work節點上執行
5、在swarm叢集中的管理節點上檢視節點資訊:
[root@manager1 ~]# docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS fr67r1aa0oq3hkhd7knqev61w * manager1 Ready Active Leader kfihkvme0tp6vao1j5894y3cl work1 Ready Active
還可以通過docker info檢視更加詳細的資訊(當然還是在管理節點上執行)