docker swarm英文文档学习-2-关键概念

参考https://docs.docker.com/engine/swarm/key-concepts/

Swarm mode key concepts集群模式关键概念

本主题介绍Docker Engine 1.12集群管理和编配特性特有的一些概念。node

What is a swarm?

  Docker引擎中嵌入的集群管理和编配功能是使用swarmkit构建的。Swarmkit是一个独立的项目,它实现了Docker的编配层,并直接在Docker中使用。
  集群由多台以集群模式运行的Docker主机组成,它们分别充当管理员managers(管理成员和委托)和工做者workers(运行群服务services)。给定的Docker主机能够是经理manager、工人worker,也能够同时扮演这两个角色。建立服务service时,须要定义其最佳状态(副本数量、可用的网络和存储资源、服务对外公开的端口,等等)。Docker的工做是维护所需的状态。例如,若是一个工做节点变得不可用,Docker将在其余节点上调度该节点的任务。任务task是一个运行的容器container,它是集群服务service的一部分,由集群管理器manager管理,而不是一个独立的容器。docker

  集群服务相对于独立容器的一个关键优点是,你能够修改服务的配置,包括它所链接的网络和卷,而不须要手动从新启动服务。Docker将更新配置,使用过时配置中止服务任务,并建立与所需配置匹配的新任务。
  当Docker以集群模式运行时,你仍然能够在参与集群的任何Docker主机以及集群服务上运行独立容器。独立容器和集群服务之间的一个关键区别是,只有群管理器才能管理群,而独立容器能够在任何守护进程上启动。Docker守护进程能够做为管理人员、工人或二者兼而有之地参与到集群中。服务器

  就像你可使用 Docker Compose来定义和运行容器同样,你也能够定义和运行集群服务栈(swarm service stacks)。
      请继续阅读有关Docker集群服务的概念的详细信息,包括节点 nodes、服务services、任务tasks和负载平衡load balancing。网络

 

Nodes节点

  节点是参与集群的Docker引擎的实例。你也能够将其视为Docker节点。你能够在一台物理计算机或云服务器上运行一个或多个节点,可是生产集群部署一般包括分布在多个物理和云机器上的Docker节点。
  要将应用程序部署到集群中,须要向manager节点提交服务定义。管理器manager节点将称为任务task的工做单元分派给工做节点node。
  Manager节点还执行维护集群所需状态所需的编配和集群管理功能。Manager节点选择一个leader来执行编排任务。负载均衡

  工做节点接收并执行从管理节点分派的任务。默认状况下,管理器节点也做为工做节点运行服务,可是你能够将它们配置为只运行管理器任务且仅做为管理器节点。代理在每一个工做节点上运行,并报告分配给它的任务。工做节点将其分配的任务的当前状态通知管理节点,以便管理器可以维护每一个工做人员所需的状态。spa

 

Services and tasks 服务和任务

  服务service是要在管理器或工做节点上执行的任务的定义。它是集群体系的中心结构,是用户与集群交互的主要根源。
  在建立服务时,要指定要使用哪一个容器镜像,以及在运行的容器中执行哪些命令。
  在副本服务模型中,集群管理器manager根据你在所需状态下设置的规模在节点之间分发特定数量的副本任务。代理

  对于全局服务,swarm在集群中的每一个可用节点上为服务运行一个任务task。
  任务task携带Docker容器和在容器中运行的命令。它是集群的原子调度单元。管理节点根据服务级别中设置的副本数量将任务task分配给工做节点。一旦将任务分配给一个节点,它就不能移动到另外一个节点。它只能在指定的节点上运行或失败。进程

 

Load balancing负载均衡

  swarm管理器使用入口负载平衡公开你但愿向集群外部提供的服务。集群管理器manager能够自动为服务service分配一个发布端口,也能够为服务配置一个发布端口。你能够指定任何未使用的端口。若是你没有指定端口,群管理器将为服务分配一个端口,范围为30000-32767。
  外部组件(如云负载平衡器)能够访问集群中任何节点的PublishedPort上的服务,不管该节点当前是否运行该服务的任务。集群中的全部节点都将链接路由到正在运行的任务实例。
  swarm模式有一个内部DNS组件,它自动为集群中的每一个服务分配一个DNS条目。集群管理器使用内部负载平衡,根据服务的DNS名称在集群中的服务之间分发请求。ci

相关文章
相关标签/搜索