什么是Docker Swarm

Docker Swarm是Docker官方的一种容器编排方案,用于管理跨主机的Docker容器,可以快速对指定服务进行水平扩展、部署、删除

一个Docker Swarm集群通常由多个安装有Docker且运行在Docker Swarm Mode的主机组成,角色包含Managers(管理者)、Workers(执行节点),一个节点可以兼拥有这两个角色或之一

在Docker 1.12以前,Docker Swarm作为一个独立的集群容器编排软件(Swarmkit)形式存在,在之后,它与Docker集成在了一起,可以称之为Docker Swarm Mode

特性

  • 集群管理与Docker集成 - 在Docker 1.12以后,Docker Swarm不再作为单独的集群管理软件,而是直接集成到Docker Engine.
  • 去中心化 - 你可以将Docker镜像部署到一台或多台服务器上
  • 声明式服务模式 - 你可以使用声明式的方法定义一套应用stack
  • 扩展 - 你可以指定task(Swarm的最小粒度) 的数量,简单理解就是容器数
  • 状态自动调节 (Desired state reconciliation)- Swarm Manager角色会不断地检查服务与其副本的状态,当有副本不可用时,会创建新的副本替换不可用副本,保证可用性
  • 多主机网络 - 当为Swarm集群指定overlay网络时,Swarm自动为容器指定overlay的网络ip
  • 服务发现 - Docker Swarm的管理节点会为服务分配唯一DNS名称与负载均衡,Docker Swarm内置了DNS server
  • 负载均衡 - 除了自动的负载均衡,你还可以使用自定义的负载均衡器转发各服务的对外暴露的端口
  • 默认安全通信 - 节点间通信默认强制使用TLS加密,可选使用自签发的密钥或CA组织发的证书
  • 滚动升级 - 升级服务过程中,可以配置延迟部署的时间,如果出现问题时,可以快速还原之前的版本

Docker Swarm 模式核心概念

节点(Nodes)

每台加入Docker Swarm的主机即是一个节点,这是最简单的理解,每个节点可以是管理节点(Manager Nodes),也可以是执行节点(Worker Nodes),亦可兼具这两个角色

当部署服务到Swarm集群的时候,你将一个Service提交到Manager Nodes,Manager Nodes会被服务拆分成Task(Swarm中最小粒度,可能仅包含一个容器),分发到Worker Nodes,Worker Nodes执行接收到的Task,完成部署,Manager Nodes监听服务的状态

服务与任务 (Services And Tasks)

一个Service定义了很多执行在Workers节点与Managers节点上的Task

创建一个Service时需要指定docker镜像,以及执行的命令或参数,当使用replicated services 模式时,Manager节点分发你指定的scale因子数量的复制Task到一个Worker节点上;使用global services模式时,则为集群中每一个Worker节点创建指定数量的复制Task

每个Task承载着一个运行着应用服务的容器,Manager节点通过设置的scale因子数分配Task到执行节点上,一个Task只能运行在一个Worker节点中,只有运行与失败两个状态

负载均衡(Load balancing)

Swarm Manager通过入口负载均衡ingress load balancing)暴露的端口作为负载均衡策略

Manager默认会为Service会分配一个未被占用的端口,称为PublishedPort(也可自行指定),范围在30000-32767之间,外部服务访问Publishedport来访问运行中的Task

Swarm会将所有集群内的请求,转发到正常运行的节点上

Docker Swarm Mode简介与核心概念的更多相关文章

  1. Docker(一)简介及核心概念

    1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这 ...

  2. Docker Swarm 中最重要的概念- 每天5分钟玩转 Docker 容器技术(94)

    从主机的层面来看,Docker Swarm 管理的是 Docker Host 集群.所以先来讨论一个重要的概念 - 集群化(Clustering). 服务器集群由一组网络上相互连接的服务器组成,它们一 ...

  3. ZooKeeper学习之路(一)—— ZooKeeper简介及核心概念

    一.Zookeeper简介 Zookeeper是一个开源的分布式协调服务,目前由Apache进行维护.Zookeeper可以用于实现分布式系统中常见的发布/订阅.负载均衡.命令服务.分布式协调/通知. ...

  4. ZooKeeper系列(一)—— ZooKeeper 简介及核心概念

    一.Zookeeper简介 Zookeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护.Zookeeper 可以用于实现分布式系统中常见的发布/订阅.负载均衡.命令服务.分布式协调 ...

  5. Nifi简介及核心概念整理

    简介 Apache NiFi 是一个易于使用.功能强大而且可靠的数据拉取.数据处理和分发系统,用于自动化管理系统间的数据流. 它支持高度可配置的指示图的数据路由.转换和系统中介逻辑,支持从多种数据源动 ...

  6. Hive学习之路(一)—— Hive 简介及核心概念

    一.简介 Hive是一个构建在Hadoop之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类SQL查询功能,用于查询的SQL语句会被转化为MapReduce作业,然后提交到Hadoop上运行. ...

  7. Hive 系列(一)—— Hive 简介及核心概念

    一.简介 Hive 是一个构建在 Hadoop 之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类 SQL 查询功能,用于查询的 SQL 语句会被转化为 MapReduce 作业,然后提交到 ...

  8. Docker Swarm Mode 入门实践

    本文来源 翻译并总结官方文档,添加自定义示例,参考自Docker 19.03版本官方文档 未来可能归档为:https://docs.docker.com/v19.03/ 2020.01.03为http ...

  9. 20、docker swarm

      Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Kuber ...

随机推荐

  1. Gym - 101620H_Hidden Hierarchy(树+模拟)

    Hidden Hierarchy 题目链接 题目描述 You are working on the user interface for a simple text-based file explor ...

  2. Redis源码解析:05跳跃表

    一:基本概念 跳跃表是一种随机化的数据结构,在查找.插入和删除这些字典操作上,其效率可比拟于平衡二叉树(如红黑树),大多数操作只需要O(log n)平均时间,但它的代码以及原理更简单.跳跃表的定义如下 ...

  3. phpstorm2017破解版 2017.3.4 官网中文版

    phpstorm2017破解版是一款强大的PHP编程工具,新云软件园提供phpstorm激活下载,最新版PhpStorm 2017正式版改进了PHP 7支持,改进代码完成功能,PhpStorm 是最好 ...

  4. [C#] 查标准正态分布表

    C#里面要计算正态分布是一件比较麻烦的事情,一般是通过查表来实现的. static double[] ayZTFB = null; /// <summary> /// 计算标准正态分布表 ...

  5. Linux系统服务及软件包的管理

     要点回顾 free命令查看内存 整理buffer与cache的作用 1.buffer(缓冲) 是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的. 2.cache(缓存) 从CPU ...

  6. hadoop2.6.0 + hbase-1.0.0 伪分布配置

    1 基本配置 主机名: 192.168.145.154 hadoop2 ======= 2 etc/hadoop下文件配置 1)core-site.xml <configuration> ...

  7. PHP调用纯真IP数据库返回具体地址

    function convertip($ip) { $ip1num = 0; $ip2num = 0; $ipAddr1 =""; $ipAddr2 =""; ...

  8. 【DCN】路由操作

    offset */interface in/out access-list/prefix-list <1-16>                 // 修改路由偏移量   RIP偏移列表 ...

  9. Adam那么棒,为什么还对SGD念念不忘 (1) —— 一个框架看懂优化算法

    机器学习界有一群炼丹师,他们每天的日常是: 拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着丹药出炉了. 不过,当过厨子的都知道,同样的食材,同样的菜谱,但火候不一样了, ...

  10. H3C PAP验证