前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker Swarm模式架构

Docker Swarm模式架构

作者头像
JavaEdge
发布2021-02-23 15:17:27
7290
发布2021-02-23 15:17:27
举报
文章被收录于专栏:JavaEdgeJavaEdge

Docker Swarm模式架构

Swarm 原理

Swarm是Docker公司自研发的容器集群管理系统,Swarm在早期是作为一个独立服务存在,在Docker Engine v1.12中集成了Swarm的集群管理和编排功能。可以通过初始化Swarm或加入现有Swarm来启用Docker引擎的Swarm模式。

Docker Engine CLI和API包括了管理Swarm节点命令,比如添加、删除节点,以及在Swarm中部署和编排服务。 也增加了服务栈(Stack)、服务(Service)、任务(Task)概念。

Swarm 的两种角色

  • Manager:接收客户端服务定义,将任务发送到worker节点;维护集群期望状态和集群管理功能及Leader选举。默认情况下manager节点也会运行任务,也可以配置只做管理任务。提供对外的接口,部署我们的应用
  • Worker:接收并执行从管理节点分配的任务,并报告任务当前状态,以便管理节点维护每个服务期望状态。

Swarm特点

  1. Docker Engine集成集群管理 使用Docker Engine CLI 创建一个Docker Engine的Swarm模式,在集群中部署应用程序服务。
  2. 去中心化设计 Swarm角色分为Manager和Worker节点,Manager节点故障不影响应用使用。
  3. 扩容缩容 可以声明每个服务运行的容器数量,通过添加或删除容器数自动调整期望的状态。
  4. 期望状态协调 Swarm Manager节点不断监视集群状态,并调整当前状态与期望状态之间的差异。例如,设置一个服务运行10个副本容器,如果两个副本的服务器节点崩溃,Manager将创建两个新的副本替代崩溃的副本。并将新的副本分配到可用的worker节点。
  5. 多主机网络 可以为服务指定overlay网络。当初始化或更新应用程序时,Swarm manager会自动为overlay网络上的容器分配IP地址。
  6. 服务发现 Swarm manager节点为集群中的每个服务分配唯一的DNS记录和负载均衡VIP。可以通过Swarm内置的DNS服务器查询集群中每个运行的容器。
  7. 负载均衡 实现服务副本负载均衡,提供入口访问。也可以将服务入口暴露给外部负载均衡器再次负载均衡。
  8. 安全传输 Swarm中的每个节点使用TLS相互验证和加密,确保安全的其他节点通信。
  9. 滚动更新 升级时,逐步将应用服务更新到节点,如果出现问题,可以将任务回滚到先前版本

Docker Swarm 工作原理

Docker Engine client: – 1、docker service create:我们通过docker service create这个命令去创建一个服务。 swarm manager: – 1、API:这个请求直接由Swarm manager的API进行接收,接收命令并创建服务对象。 – 2、orchestrator:为服务创建一个任务。 – 3、allocater:为这个任务分配IP地址。 – 4、dispatcher:将任务分配到指定的节点。 – 5、scheduler:再该节点中下发指定命令。 worker node:接收manager任务后去运行这个任务。 – 1、container:创建相应的容器。 – 2、worker:连接到调度程序以检查分配的任务 – 3、executor:执行分配给工作节点的任务 Service:为一个副本,可以理解为是一个任务,一个任务是一个容器。 swarm manager:它将这个副本下发到三个可用的work节点。 container:实际的docker容器去运行应用。 task:work任务的名称为service名称后面跟.1根据个数以此类推。

参考

  • https://www.cnblogs.com/xiangsikai/p/9935253.html
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker Swarm模式架构
    • Swarm 原理
      • Swarm 的两种角色
        • Swarm特点
          • Docker Swarm 工作原理
          相关产品与服务
          负载均衡
          负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档