docker swarm介绍

1. docker swarm介绍

  • Swarm是Docker公司自研发的容器集群管理系统,Swarm在早期是作为一个独立服务存在,在Docker Engine v1.12中集成了Swarm的集群管理和编排功能。可以通过初始化Swarm或加入现有Swarm来启用Docker引擎的Swarm模式。
  • Docker Engine CLI和API包括了管理Swarm节点命令,比如添加、删除节点,以及在Swarm中部署和编排服务。
  • 也增加了服务栈(Stack)、服务(Service)、任务(Task)概念。

2. docker swarm架构图讲解

image

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

3. docker swarm特点介绍

  • Docker Engine集成集群管理

    使用Docker Engine CLI 创建一个Docker Engine的Swarm模式,在集群中部署应用程序服务。

  • 去中心化设计
    Swarm角色分为Manager和Worker节点,Manager节点故障不影响应用使用。

  • 扩容缩容
    可以声明每个服务运行的容器数量,通过添加或删除容器数自动调整期望的状态。

  • 期望状态协调
    Swarm Manager节点不断监视集群状态,并调整当前状态与期望状态之间的差异。

  • 多主机网络
    可以为服务指定overlay网络。当初始化或更新应用程序时,Swarm manager会自动为overlay网络上的容器分配IP地址。

  • 服务发现
    Swarm manager节点为集群中的每个服务分配唯一的DNS记录和负载均衡VIP。可以通过Swarm内置的DNS服务器查询集群中每个运行的容器。

  • 负载均衡
    实现服务副本负载均衡,提供入口访问。

  • 安全传输
    Swarm中的每个节点使用TLS相互验证和加密,确保安全的其他节点通信。

  • 滚动更新
    升级时,逐步将应用服务更新到节点,如果出现问题,可以将任务回滚到先前版本。

原文地址:https://www.cnblogs.com/scajy/p/15475961.html