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.? 节点 节点是集群中的一个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.? 负载均衡 2.? 集群创建 创建集群 加入集群 部署服务 检查服务 动态扩容 删除服务 动态滚动更新服务 节点下线 3.? 备忘单 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/ ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |