swam.png

配置hostname、hosts,保證可互訪

echo "# Docker-Swam
10.0.0.133    docker-host #manager
10.0.3.134  swam-01
10.0.3.135  swam-02" >> /etc/hosts;

在manager上配置免密登錄,複製到worker節點

ssh-keygen
ssh-copy-id swam-01
ssh-copy-id swam-02

manager節點上創建swam集群

docker swarm init --advertise-addr 10.0.0.133

節點加入swam集群

docker swarm join --token SWMTKN-1-5wmz0ney625lsejur1u1gen8dc2b6y3oq8pn4hsqqfwo2m3yiu-9fbxgdtj2cbtvvogzhltde0a6 10.0.0.133:2377

manager節點執行

將swam-02從worker升級為manager

docker node promote swam-02

創建overlay網路,並使Portainer加入

docker network create \
 --driver overlay \
 --attachable \
 --subnet 10.12.0.0/24 \
 portainer_agent_network

Woker節點安裝Agent

docker service create \
  --name portainer_agent \
  --network portainer_agent_network \
  -p 9001:9001/tcp \
  --mode global \
  --constraint 'node.platform.os == linux' \
  --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
  --mount type=bind,src=//var/lib/docker/volumes,dst=/var/lib/docker/volumes \
  portainer/agent:2.14.1

填寫name和url加入Portainer

tasks.portainer_agent:9001