这篇文章上次修改于 1929 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 swarm mode是docker 内置的集群模式,很容易使用,并且无须安装其他的软件。 ![swarm-mode.png](/usr/uploads/2018/05/1071845736.png) swarm模式下,node角色分为2种,manager node,work node ![swarm-diagram.png](/usr/uploads/2018/05/4139341741.png) manager负责集群状态维护,服务调度,并提供API服务 worker负责任务编排运行 **生产环境中请设置多个manger** ``` docker node promote NODE [NODE...] ``` 设置manager角色为manager only ``` docker node update --availability drain NODE ``` 整个调度过程如下: ![service-lifecycle.png](/usr/uploads/2018/06/3164294558.png) service有两类,replicated 和global. 前者是运行相同服务,在全局限制实例个数。后者是每个节点运行一个实例,实例个数取决于可用节点数。 ![replicated-vs-global.png](/usr/uploads/2018/06/2180482162.png) service通过ingress network负载均衡到对应容器服务 ![service loadbalancer](https://blog.37hi.com/usr/uploads/2019/08/1497408108.png) ![ingress network](https://blog.37hi.com/usr/uploads/2019/08/1402684504.png) 参考: - https://docs.docker.com/engine/swarm/how-swarm-mode-works/swarm-task-states/ - https://docs.docker.com/network/overlay/ - https://docs.docker.com/engine/swarm/key-concepts/#load-balancing - https://docs.docker.com/engine/swarm/networking/#customize-the-docker_gwbridge - https://docs.docker.com/engine/swarm/ingress/ - https://neuvector.com/network-security/docker-swarm-container-networking/ - https://www.cnblogs.com/xiangsikai/p/9935253.html
没有评论