利用docker-machine安裝swarm

wadeson發表於2017-11-14

安裝之前的環境:

兩個節點,節點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檢視更加詳細的資訊(當然還是在管理節點上執行)

 

相關文章