Docker Swarm集群部署

Docker Swarm集群部署

任务平台

3台虚拟机,一台作为manager 节点,另两台作为work节点。

文章目录

    • Docker Swarm集群部署
      • 安装docker
      • 配置防火墙开放端口
      • 在 manager 节点创建 Swarm 集群
      • 创建用于swarm服务的自定义的overlay网络
      • 测试跨主机容器通信

安装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 可查看所有节点。

Docker Swarm集群部署_第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

Docker Swarm集群部署_第2张图片

你可能感兴趣的:(docker,docker,容器,运维,Docker,SWarm)