1. 程式人生 > >Docker 三劍客之Docker Swarm

Docker 三劍客之Docker Swarm

ons type src cati word rpm man mtp break

Docker Swarm 介紹




創建Docker Swarm集群

1、使用docker machine ssh連接到想要成為manager node的那臺docker宿主機上。

$ docker-machine ssh manager1


2、執行下面的命令,創建一個swarm集群。

docker swarm init --advertise-addr <MANAGER-IP>

例如:

# docker swarm init --advertise-addr 43.241.208.252
Swarm initialized: current node (xmv5n6bi8jtzux88a9ly03dx6) is now a manager.
To add a worker to this swarm, run the following command:
    docker swarm join --token SWMTKN-1-4ebqztfvn45rpmol5gy8stxh9om7otzzeib3pyvemtpc49zf0t-18tzrg41wdfctkp2ejeai9nxl 43.241.208.252:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

我這裏是在美團公有雲的一臺雲主機上創建的,使用的是公網IP,因為我準備將阿裏雲上一臺雲主機添加為swarm node。所以用的是公網IP,通常生產環境都是用內網IP


添加一個worker到swarm集群,執行以下命令,註意是在worker上執行命令而不是manager

docker swarm join --token SWMTKN-1-4ebqztfvn45rpmol5gy8stxh9om7otzzeib3pyvemtpc49zf0t-18tzrg41wdfctkp2ejeai9nxl 43.241.208.252:2377

如果哪天忘記這個命令了,可以在manager上執行下面的命令,查看

$ docker swarm join-token worker

To add a worker to this swarm, run the following command:

    docker swarm join     --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c     192.168.99.100:2377



添加一個manager到swarm集群,執行以下命令,並按照提示操作,註意是在worker上執行命令而不是manager

docker swarm join-token manager


我這裏把美團雲上同一內網的另外一臺雲主機添加為worker,雖然我前面創建集群是用的公網IP,但是manager監聽地址為0.0.0.0:2377,所以用內網IP也沒問題

# docker swarm join --token SWMTKN-1-4ebqztfvn45rpmol5gy8stxh9om7otzzeib3pyvemtpc49zf0t-18tzrg41wdfctkp2ejeai9nxl 172.16.2.14:2377   
This node joined a swarm as a worker.



將阿裏雲主機添加為worker

#  docker swarm join --token SWMTKN-1-4ebqztfvn45rpmol5gy8stxh9om7otzzeib3pyvemtpc49zf0t-18tzrg41wdfctkp2ejeai9nxl 43.241.208.252:2377
This node joined a swarm as a worker.

註意:在操作之前,一定要保證節點之間,以下端口能互通

  • TCP port 2377 for cluster management communications

  • TCP and UDP port 7946 for communication among nodes

  • UDP port 4789 for overlay network traffic



docker node ls:查看swarm集群節點信息,在manager節點上執行該命令

技術分享圖片



docker info,查看 Swarm集群信息

Swarm: active
 NodeID: xmv5n6bi8jtzux88a9ly03dx6
 Is Manager: true
 ClusterID: nwjap3nned83wyf9zt2nrcd0i
 Managers: 1
 Nodes: 3
 Orchestration:
  Task History Retention Limit: 5



Docker 三劍客之Docker Swarm