专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Docker Swarm mode

1、 集群模式基本概念

swarm mode(译:集群模式)

standalone mode(译:单机模式)

以集群模式运行Docker

1、1、 集群

Docker引擎内部已经集成了集群管理

一个集群由多个Docker主机组成,它们以集群模式运行。集群中有两种角色:manager和worker。一个给定的主机,它有可能是manager,或者worker,也有可能同时兼具这两种角色。当你创建一个服务的时候,你会定义它们的状态(比如:副本数量、网络和存储资源、对外暴露的端口等等)。Docker负责维护这些状态。如果一个worker节点不可用了,那么Docker会将该节点上的任务转给其它节点。任务是一个运行的容器,它是集群服务的一部分,由manager管理,而非作为一个独立的容器。

相对于单机模式而言,集群模式最关键的优势在于你可以修改服务的配置(比如:networks或volumes等)而不需要手动重启服务。Docker将自动更新配置,停止已经过期的配置的服务任务,并创建与之匹配的新的服务任务。

当Docker以集群模式运行时,你仍然可以在集群的任意一台主机上以单机模式运行,只要它还是集群服务。单机容器与集群服务最主要的区别在于只有集群的manager才可以管理集群,而单机的容器可以被任意守护进程启动。Docker守护进程可以以manager身份、worker身份、或二者兼具的身份参与到集群中。

(小结:

1、 回忆一下,运行中的容器对外提供服务,也就是说服务的载体是容器
2、 单机模式是一台主机上运行多个容器,每个容器单独提供服务;集群模式是多台机器组成一个集群,多个容器一起提供同一个服务;
3、 集群模式的好处是当你修改了服务的配置后无需手动重启服务
4、 集群与单机最大的区别在于,只有集群中的manager才能管理集群中的一切(包括服务、容器都归它管,你无法再一个woker节点上操作容器)

1、2. 节点

节点是集群中的一个Docker实例,你可以认为它是一个Docker节点。你可以在单台物理机或者云服务上创建一个或多个节点。但是,在生产环境通常是一台物理机或云服务器时一个节点。

为了将你的应用部署到集群中,你需要提交一个服务定义给集群manger节点。manager节点分发任务(task)给worker节点。

manager节点还负责维护集群状态。manager节点选择一个leader来编排任务。

worker节点从manager节点那里接收任务并执行。默认情况下,manager节点上也运行着和worker节点上一样的服务。但是你也可以将它们配置为仅运行manager任务。每个worker节点上都运行着一个agent,它们负责报告分配给该worker节点的任务的相关情况。worker节点向manager节点报告分配给它的任务的当前状态,以便于manager可以更好地分配任务。

1、3. 服务与任务

服务是要在manager节点或worker节点上执行的任务的定义。当你创建服务的时候,会指定运行哪个镜像,以及在容器运行的时候执行哪些命令。

任务就是某个容器,以及要在容器中执行的命令

1、4. 负载均衡

90_1.png

2、 集群创建

创建集群

90_2.png

加入集群

90_3.png

部署服务

90_4.png

检查服务

90_5.png

90_6.png

动态扩容

90_7.png

删除服务

90_8.png

动态滚动更新服务

90_9.png

90_10.png

节点下线

90_11.png

3、 备忘单

90_12.png

4、 文档

https://docs.docker.com/engine/swarm/swarm-tutorial/scale-service/

https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/

https://docs.docker.com/engine/swarm/ingress/

https://docs.docker.com/engine/reference/commandline/swarm_update/

文章永久链接:https://tech.souyunku.com/20920

未经允许不得转载:搜云库技术团队 » Docker Swarm mode

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们