前言
上一篇文章,給大家介紹了常用的三種圖形頁面管理工具,DockerUI,Portainer,Shipyard。讀者反饋最多的是對Potainer很感興趣,其實我個人對比這三個工具後也是傾向於使用Portainer。
集群部署
前提條件 - 部署Swarm集群
控制節點:
安裝並啟動docker服務
[ root@controller ]# yum -y install docker
[ root@controller ]# systemctl start docker
創建swarm集群設置主控制節點
[ root@controller ]# docker swarm init --advertise-addr 172.16.2.234
設置防火牆規則,使得集群間通信正常
[ root@controller ]# firewall-cmd --permanent --zone=public --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/tcp --add-port=4789/udp
[ root@controller ]# firewall-cmd --reload
[ root@controller ]# firewall-cmd --permanent --zone=public --list-ports
查看swarm集群
[ root@controller ]# docker node ls
工作節點:
安裝並啟動docker服務
[ root@compute1 ]# yum -y install docker
[ root@compute1 ]# systemctl start docker
設置防火牆規則,使得集群間通信正常
[ root@compute1 ]# firewall-cmd --permanent --zone=public --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/tcp --add-port=4789/udp
[ root@compute1 ]# firewall-cmd --reload
[ root@compute1 ]# firewall-cmd --permanent --zone=public --list-ports
添加compute1到swarm集群中
[ root@compute1 ]# docker swarm join --token SWMTKN-1-3d0h25uee1kgtb16flo374zpfnr2v8ttz2mzy1zbjjjtutsk7g-5lf48tdr8z457ruuqh7bi8m3j 172.16.2.234:2377
安裝並啟動docker服務
[ root@compute2 ]# yum -y install docker
[ root@compute2 ]# systemctl start docker
設置防火牆規則,使得集群間通信正常
[ root@compute2 ]# firewall-cmd --permanent --zone=public --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/tcp --add-port=4789/udp
[ root@compute2 ]# firewall-cmd --reload
[ root@compute2 ]# firewall-cmd --permanent --zone=public --list-ports
添加compute2到swarm集群中
[ root@compute2 ]# docker swarm join --token SWMTKN-1-3d0h25uee1kgtb16flo374zpfnr2v8ttz2mzy1zbjjjtutsk7g-5lf48tdr8z457ruuqh7bi8m3j 172.16.2.234:2377
控制節點:
查看swarm集群
[ root@controller ]# docker node ls
部署Portainer集群
在Swarm集群中創建一個新的overlay網絡
docker network create --driver overlay --attachable portainer_agent_network
將代理部署為集群中的全局服務
docker service create \
--name portainer_agent \
--network portainer_agent_network \
-e AGENT_CLUSTER_ADDR=tasks.portainer_agent \
--mode global \
--constraint 'node.platform.os == linux' \
--mount type=bind,class="lazy" src="//p2.ttnews.xyz/loading.gif" data-original=//var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=bind,class="lazy" data-original=//var/lib/docker/volumes,dst=/var/lib/docker/volumes \
portainer/agent
將Portainer實例部署為服務
docker service create \
--name portainer \
--network portainer_agent_network \
--publish 9000:9000 \
--replicas=1 \
--constraint 'node.role == manager' \
portainer/portainer -H "tcp://tasks.portainer_agent:9001" --tlsskipverify
瀏覽器訪問 http://172.16.2.234:9000 , 設置一個密碼即可。
現在就可以試用了。
我們這次搭建的是集群版,可以看到swarm集群中所有的容器資源。
閱讀更多 崔格拉斯 的文章