您好,登录后才能下订单哦!
这篇文章主要介绍“docker集群到底是什么”,在日常操作中,相信很多人在docker集群到底是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker集群到底是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
docker集群是什么?集群是一组协同工作的服务实体(可理解为服务器),用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就像是一个服务实体,但事实上集群由一组服务实体组成。
在docker集群服务中,包含以下几个概念是必须要清楚的。
Swarm
Swarm运行 Docker Engine 的多个主机组成的集群。
从 v1.12 开始,集群管理和编排功能已经集成进 Docker Engine。当 Docker Engine 初始化了一个Swarm或者加入到一个存在的Swarm时,它就启动了 Swarm Mode。
没启动Swarm Mode时,Docker执行的是容器命令;运行Swarm Mode后,Docker增加了编排service的能力。Docker允许在同一个Docker主机上既运行Swarm Service,又运行单独的容器。
node
Swarm中的每个Docker Engine都是一个node,有两种类型的 node:manager 和worker。
为了向Swarm中部署应用,我们需要在manager node上执行部署命令,manager node会将部署任务拆解并分配给一个或多个worker node完成部署。
manager node负责执行编排和集群管理工作,保持并维护Swarm处于期望的状态。Swarm中如果有多个manager node,它们会自动协商并选举出一个leader 执行编排任务。
woker node接受并执行由manager node派发的任务。默认配置下manager node同时也是一个worker node,不过可以将其配置成manager-only node,让其专职负责编排和集群管理工作。
work node会定期向manager node报告自己的状态和它正在执行的任务的状态,这样manager就可以维护整个集群的状态。
service
service定义了worker node上要执行的任务。swarm的主要编排任务就是保证 service处于期望的状态下。
举一个service的例子:在swarm中启动一个nginx服务,使用的镜像是 nginx:latest,副本数为3。
manager node负责创建这service,经过分析知道需要启动3个nginx容器,根据当前各worker node的状态将运行容器的任务分配下去,比如worker1上运行两个容器,worker2上运行一个容器。
运行了一段时间,worker2突然宕机了,manager监控到这个故障,于是立即在 worker3上启动了一个新的nginx容器。这样就保证了service处于期望的三个副本状态。
总之,swarm以节点(node)的方式组织集群(cluster);同时每个节点上面可以部署一个或者多个服务(service),每个服务又可以包括一个或者多个容器(container)。
到此,关于“docker集群到底是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。