前言
Docker Swarm 是 Docker 官方提供的容器编排工具,可以将多个 Docker 主机组成一个集群,实现容器的高可用性和负载均衡。本文将介绍 Docker Swarm 高可用集群的搭建和管理,包括 Swarm 集群的创建、节点的加入和退出、服务的部署和扩展等。
Docker Swarm 集群的创建
安装 Docker
在开始创建 Swarm 集群之前,需要先在所有节点上安装 Docker。可以按照官方文档的说明进行安装:Install Docker Engine。
初始化 Swarm 集群
在任意一个节点上执行以下命令,初始化 Swarm 集群:
$ docker swarm init
执行完毕后,会输出一个命令,用于将其他节点加入到集群中。例如:
Swarm initialized: current node (t7zj0c9l8f8o7p5m1z0ls1xuv) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-4m8k0jzr6r96m3o9d4v8ujh4l4b4y4j4q7q3odh2z1tmjg3j5z-9vkkf8j9j7z2t2dw2x7z43tun 192.168.1.100:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
将其他节点加入到集群中,只需要在其他节点上执行刚才输出的命令即可。例如:
$ docker swarm join --token SWMTKN-1-4m8k0jzr6r96m3o9d4v8ujh4l4b4y4j4q7q3odh2z1tmjg3j5z-9vkkf8j9j7z2t2dw2x7z43tun 192.168.1.100:2377
其中,192.168.1.100
是 Swarm 集群的管理节点 IP 地址,2377
是 Swarm 集群的管理端口。
查看 Swarm 集群状态
在任意一个节点上执行以下命令,查看 Swarm 集群状态:
$ docker node ls
执行完毕后,会输出当前 Swarm 集群的节点信息。例如:
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION t7zj0c9l8f8o7p5m1z0ls1xuv * node-1 Ready Active Leader 20.10.6 9e6z8c7p5m1z0ls1x7v8o7l2f node-2 Ready Active 20.10.6 1xuv0c9l8f8o7p5m7z0ls2z43 node-3 Ready Active 20.10.6
Docker Swarm 节点的加入和退出
节点的加入
在任意一个节点上执行以下命令,将节点加入到 Swarm 集群中:
$ docker swarm join --token SWMTKN-1-4m8k0jzr6r96m3o9d4v8ujh4l4b4y4j4q7q3odh2z1tmjg3j5z-9vkkf8j9j7z2t2dw2x7z43tun 192.168.1.100:2377
其中,192.168.1.100
是 Swarm 集群的管理节点 IP 地址,2377
是 Swarm 集群的管理端口。
节点的退出
在任意一个节点上执行以下命令,将节点从 Swarm 集群中退出:
$ docker swarm leave
Docker Swarm 服务的部署和扩展
服务的部署
在任意一个节点上执行以下命令,部署一个服务:
$ docker service create --replicas 3 --name web nginx
其中,--replicas 3
指定服务的副本数为 3,--name web
指定服务的名称为 web
,nginx
是服务的镜像名称。
执行完毕后,可以执行以下命令,查看服务状态:
$ docker service ls
执行完毕后,会输出当前 Swarm 集群的服务信息。例如:
ID NAME MODE REPLICAS IMAGE 9n2koxg1mp7y web replicated 3/3 nginx:latest
服务的扩展
在任意一个节点上执行以下命令,将服务的副本数扩展到 5:
$ docker service scale web=5
其中,web
是服务的名称。
执行完毕后,可以再次执行以下命令,查看服务状态:
$ docker service ls
执行完毕后,会输出当前 Swarm 集群的服务信息。例如:
ID NAME MODE REPLICAS IMAGE 9n2koxg1mp7y web replicated 5/5 nginx:latest
总结
本文介绍了 Docker Swarm 高可用集群的搭建和管理,包括 Swarm 集群的创建、节点的加入和退出、服务的部署和扩展等。通过学习本文,读者可以了解如何使用 Docker Swarm 实现容器的高可用性和负载均衡。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65e039d41886fbafa4d723cb