zoukankan      html  css  js  c++  java
  • Docker Swarm Mode简介与核心概念

    什么是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会将所有集群内的请求,转发到正常运行的节点上

    文章内容来源于官方文档翻译与理解,如有错误,还请不吝留言指出,谢谢合作

  • 相关阅读:
    June 26th 2017 Week 26th Monday
    June 25th 2017 Week 26th Sunday
    June 24th 2017 Week 25th Saturday
    June 23rd 2017 Week 25th Friday
    June 22nd 2017 Week 25th Thursday
    2018最佳网页设计:就是要你灵感爆棚!!!
    图片素材类Web原型制作分享-Pexels
    想要打动HR的心,UX设计师求职信究竟应该怎么写?
    【UXPA大赛企业专访】Mockplus:“设计替代开发”将成为现实
    2018年最好的医疗网站设计及配色赏析
  • 原文地址:https://www.cnblogs.com/hellxz/p/12134386.html
Copyright © 2011-2022 走看看