1. 程式人生 > >docker swarm集群部署

docker swarm集群部署

docker swarm

docker swarm 集群構建:

swarm 在docker 1.12 版本後內置

#h官方文檔tps://docs.docker.com/engine/swarm/#feature-highlights


系統環境:

centos7.3

docker17.06



1、初始化manager節點:

docker swarm init

為實現高可用,manager節點需要有奇數個,類似zookerper選舉制度。


2、復制生成的命令,在node節點運行。


#docker swarm join-token manager

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


docker swarm join --token SWMTKN-1-1hwdongcnsvzh92s1wnd33w9p08k1o18vobvkzu7z509xoduif-2ezofrbnkaamwuuby9d1w0wn5 10.39.3.25:2377


# docker swarm join-token worker

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


docker swarm join --token SWMTKN-1-1hwdongcnsvzh92s1wnd33w9p08k1o18vobvkzu7z509xoduif-1j43vxwnsrc3cyz2y7ips3d3g 10.39.3.25:2377



示例:

如目前有 10.39.3.25--29 集群, 選其中3個25、26、27 做為manager節點,用於管理swarm集群和實現高可用。

# docker node ls

ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS

dga3oelektv4tbofub2ii9d36 cephnode5 Ready Active

j0hmbmvn9pwnpr1n9zm20j67k * cephnode3 Ready Active Reachable

k7pb8msn85c6xzflbe4r57itd cephnode1 Ready Active Reachable

mmlszdi5lcr0zt2nk44pcjvya cephnode4 Ready Active

t9f91au60k3cgf406cqe1pn2t cephnode2 Ready Active Leader


2個manager是無法實現高可用的,主節點異常後,備用節點運行命令將報錯如下:

#docker node ls

Error response from daemon: rpc error: code = 2 desc = The swarm does not have a leader. It‘s possible that too few managers are online. Make sure more than half of the managers are online.


docker swarm集群部署