上一篇 下一篇 分享链接 返回 返回顶部

Docker Swarm的集群管理的相关介绍

发布人:优库云 发布时间:2024-09-11 21:29 阅读量:242

Docker Swarm是Docker的一种集群管理工具,可以把Docker主机池变为单个虚拟Docker主机。Docker Swarm提供了标准的Docker API,任何通Docker守护程序通信的工具都可以使用Swarm轻松的扩展多个主机。Docker Swarm支持的工具含但不局限于Dokku、Docker Compose、Docker Machine、Jenkins。

Docker Swarm集群是由管理节点和工作节点构成,Swarm mananger主要负责的是整个集群的管理工作如集群配置、服务管理和其他与集群有关的工作。work node是available node负责的是运行相应服务来执行任务。

均以 Docker Machine 和 virtualbox 进行介绍Swarm的使用,前提是确保主机已安装 virtualbox。

一开始要创建Swarm集群管理节点。创建 docker 机器:

$ docker-machine create -d virtualbox swarm-manager

初始化集群Swarm集群,进行初始化这台机器,就是集群的管理节点。

$ docker-machine ssh swarm-manager

$ docker swarm init --advertise-addr 192.168.99.107 #这里的 IP 为创建机器时分配的 ip。

可以直接创建好两台机器,swarm-worker1 和 swarm-worker2 。

docker machine ls

分别进入两个机器里,给指定添加至上一步创建的集群中,需要用到上一步复制的内容。

上图中运行命令如下:

docker@swarm-worker1:~$ docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377

进入管理节点,执行:docker info 可以查看当前集群的信息。

$ docker info

通过红圈内容,可以获取到当前正在运行的集群有三个节点,其中有一个是管理节点。

跟集群管理有关的任何操作都是在管理节点上操作的。如在一个工作节点上创建一个称为helloworld的服务,这是随机指派给一个工作节点:

docker@swarm-manager:~$ docker service create --replicas 1 --name helloworld alpine ping docker.com

查看helloworld服务运行在哪个节点上,可以看到目前是在 swarm-worker1 节点:

docker@swarm-manager:~$ docker service ps helloworld

查看helloworld服务的部署具体信息:

docker@swarm-manager:~$ docker service inspect --pretty helloworld

扩展集群服务,可以把上述的helloworld服务扩展到两个节点:

docker@swarm-manager:~$ docker service scale helloworld=2

可以看到已经从一个节点扩展到两个节点

删除服务:

docker@swarm-manager:~$ docker service rm helloworld

更多技术资讯尽在优库云!

目录结构
全文