banner
云野阁

云野阁

闲云野鹤,八方逍遥

Docker Swarm集群部署

任務平台

3 台虛擬機,一台作為 manager 節點,另兩台作為 work 節點。

部署指南

安裝 docker#

#下載並安裝docker文件及依賴
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
#啟動docker並設置開機自啟
systemctl start docker  
systemctl enable docker
#查看版本
docker -v

配置防火牆開放端口#

TCP 協議端口 2377 :集群管理端口
TCP 協議端口 7946 :節點之間通訊端口(不開放則會負載均衡失效)
UDP 協議端口 4789 :overlay 網絡通訊端口

firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
firewall-cmd --zone=public --add-port=4789/tcp --permanent
#重載防火牆
firewall-cmd --reload
#查看80端口是否開放
firewall-cmd --query-port=80/tcp
#查看所有放行的端口
firewall-cmd --zone=public --list-ports

在 manager 節點創建 Swarm 集群#

docker swarm init --advertise-addr=本機ip:2377 --listen-addr=本機ip:2377

Swarm initialized: current node (608u180nsa654xbxdthdhl0f6) is now a manager.

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

docker swarm join --token SWMTKN-1-13dv43qm3tdux7243z3c0najcetizjpgly1urd4uchtcooxe87-4eh15dbayxttxipm34s5tod6t 172.20.1.51:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

將執行後產生的命令(如上標紅的),分別加入到其他主機中,執行後產生如下結果。即為成功加入。

或者執行下面命令產生令牌,並且是定期輪換計劃(推薦)

docker swarm join-token  --rotate worker

This node joined a swarm as a worker.

(擴展)加入管理節點的命令

docker swarm join-token --rotate manager

在 manager 節點上輸入docker node ls 可查看所有節點。

image-20240323221029238-1711203035847-1

創建用於 swarm 服務的自定義的 overlay 網絡#

#方式一
#--attachable選項表示該網絡是可附加的,即其他容器可以連接到該網絡  
docker network create -d overlay --attachable my-overlay

#方式二
# --subnet:子網 --gateway:網關
docker network create --driver overlay --subnet 10.0.9.0/24 --gateway 10.0.9.99 my-overlay
  
 #查看docker網絡
 docker network ls

測試跨主機容器通信#

  1. 在三台主機上各部署一個容器,進行相互 ping,結果如下圖。
#主機一
docker run -it --name master --net=my-overlay ubuntu:latest
#主機二
docker run -it --name node1 --net=my-overlay ubuntu:latest
#主機三
docker run -it --name node2 --net=my-overlay ubuntu:latest
  1. 安裝測試工具
apt-get update
#安裝ping工具
apt-get install inetutils-ping -y
#安裝ip查看工具
apt-get install net-tools -y

image-20240323221151231-1711203113839-3

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。