Docker Swarm Mode

这篇具有很好参考价值的文章主要介绍了Docker Swarm Mode。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker Swarm Mode
Docker Swarm 集群搭建
Docker Swarm 节点维护
Docker Service 创建

先看docker官网上的一句话:Docker Swarm mode is built into the Docker Engine. Do not confuse Docker Swarm mode with Docker Classic Swarm which is no longer actively developed.

翻译过来意思是:Docker Swarm 模式内置在Docker引擎中。不要将Docker Swarm模式与Docker Classic Swarm模式混淆,后者已不再积极开发。

老的Docker Swarm使用独立的外部KV存储(比如Consul、etcd、zookeeper),搭建独立运行的Docker主机集群,用户像操作单台Docker 机器一样操作整个集群,Docker Swarm把多台Docker主机当做一台Docker主机来管理。在docker 1.12版之前,只有搭建Docker Swarm集群,没有Swarm mode之说。

新的Swarm mode 是在docker 1.12版本中集成到 Docker 引擎中的,引入服务的概念,提供了众多的新特性,比如:具有容错能力的去中心化设计、内置服务发现、负载均衡、路由网格、动态伸缩、滚动更新、安全传输等。使得Docker 原生的Swarm mode集群具备与Mesos、Kubernetes叫板的实力。更适合中小型企业。

一句话来说,忘记Docker Swarm,要用就用Docker Swarm Mode。前者已经很少维护了

1.Docker Swarm是什么

 Docker Swarm 是由 Docker 公司推出的 Docker 的原生集群管理系统,它将一个 Docker主机池变成了一个单独的虚拟主机,用户只需通过简单的 API 即可实现与 Docker 集群的通信。Docker Swarm 使用 GO 语言开发。从 Docker 1.12.0 版本开始,Docker Swarm 已经 内置 于Docker 引擎中,无需再专门的进行安装配置。

Docker Swarm 在 Docker 官网的地址为:https://docs.docker.com/engine/swarm/

2.节点架构

(1)架构图

Docker Swarm Mode,云原生,docker,容器,运维

(2) swarm node

 从物理上讲,一个 Swarm 是由若干安装了 Docker Engine 的物理机或者虚拟机组成,这
些主机上的 Docker Engine 都采用 Swarm 模式运行。

 从逻辑上讲,一个 Swarm 由若干节点 node 构成,每个 node 最终会落实在一个物理Docker 主机上,但一个物理 Docker 主机并不一定就是一个 node。即 swarm node 与 Docker主机并不是一对一的关系。

swarm node 共有两种类型:manager 与 worker。

(3)Manager

Manager 节点用于维护 swarm 集群状态、调试 servcie、处理 swarm 集群管理任务。为了防止单点故障问题,一个 Swarm 集群一般都会包含多个 manager。这些 manager 间通过Raft 算法维护着一致性。

(4)Worker

 Worker 节点用于在其 Contiainer 中运行 task 任务,即对外提供 service 服务。默认情况
下,manager 节点同时也充当着 worker 角色,可以运行 task 任务。

(5) 角色转换

manager 节点与 worker 节点角色并不是一成不变的,它们之间是可以相互转换的。

  • manager 转变为 worker 称为节点降级
  • worker 转变为 manager 称为节点升级

3.服务架构

(1) 架构图

Docker Swarm Mode,云原生,docker,容器,运维

Docker Swarm Mode,云原生,docker,容器,运维

(2) service

 搭建 docker swarm 集群的目的是为了能够在 swarm 集群中运行应用,为用户提供具备更强抗压能力的服务。docker swarm 中的服务 service 就是一个逻辑概念,表示 swarm 集群对外提供的服务。

(3) task

 一个 service 最终是通过任务 task 的形式出现在 swarm 的各个节点中,而每个节点中的task 又都是通过具体的运行着应用进程的容器对外提供的服务。

(4) 编排器

 在 swarm manager 中具有一个编排器,用于管理副本 task 任务的创建与停止。例如,当在swarm manager 中定义一个具有 3 个 task 副本任务的 service 时,编排器首先会创建 3个 task,为每个 task 分配一个 taskID,并通过分配器为每个 task 分配一个虚拟 IP,即 VIP。然后再将该 task 注册到内置的 DNS 中。当 service 的某 task 不可用时,编排器会在 DNS 中注销该 task。

(5) 分发器

 在 swarm manager 中具有一个分发器,用于完成对副本 task 任务的监听、调度等操作。在上边的服务架构图中,当编排器创建了 3 个 task 副本任务后,会调用分发器为每个 task 分配节点。分发器首先会在 swarm 集群的所有节点中找到 3 个 available node 可用节点,每个节点上分配一个 task。而每个 task 就像是一个“插槽”,分发器会在每个“插槽”中放入一个应用容器。每个应用容器其实就是一个具体的 task 实例。一旦应用容器运行起来,分发器就可以监测到其运行状态,即 task 的运行状态。

如果容器不可用或被终止,task 也将被终止。此时编排器会立即在内置 DNS 中注销该task,然后编排器会再生成一个新的 task,并在 DNS 中进行注册,然后再调用分发器为之分配一个新的 available node,然后再该节点上再运行应用容器。编排器始终维护着 3 个 task副本任务。

 分发器除了为 task 分配节点外,还实现了对访问请求的负载均衡。当有客户端来访问swarm 提供的 service 服务时,该请求会被 manager 处理:根据其内置 DNS,实现访问的负载均衡。

4.服务部署模式

(1)架构图

 service 以副本任务 task 的形式部署在 swarm 集群节点上。根据 task 数量与节点数量的关系,常见的 service 部署模式有两种:replicated 模式与 global 模式。

Docker Swarm Mode,云原生,docker,容器,运维

(2)replicated 模式

 replicated 模式,即副本模式,service 的默认部署模式。需要指定 task 的数量。当需要的副本任务 task 数量不等于 swarm 集群的节点数量时,就需要使用 replicated 模式。manager中的分发器会找到指定 task 个数的 available node 可用节点,然后为这些节点中的每个节点分配一个或若干个 task。

(3)global 模式

 global 模式,即全局模式。分发器会为每个 swarm 集群节点分配一个 task,不能指定 task的数量。swarm 集群每增加一个节点,编排器就会创建一个 task,并通过分发器分配到新的节点上。文章来源地址https://www.toymoban.com/news/detail-721389.html

到了这里,关于Docker Swarm Mode的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 Docker Swarm(集群) 和Docker Stack(堆栈)部署容器化应用

    说到集群,第一个想到的就是k8s,但docker官方也提供了集群和编排解决方案,它允许你将多个 Docker 主机连接在一起,形成一个“群集”(Swarm),并可以在这个 Swarm 上运行和管理你的服务。 与Kubernetes相比,Docker Swarm的群集管理功能相对简单,Swarm更适合于小型到中型的容器

    2024年04月25日
    浏览(35)
  • 从swarm到kubernetes Docker容器云实践

    kubernetes 与swarm 比较 优点 复制集与健康维护 服务自发现与负载均衡 灰度升级 垃圾回收 自动回收失效镜像与容器 与容器引擎解耦 不仅仅支持docker容器 用户认证与资源隔离 缺点 大而全意味着 复杂度较高 从部署到使用都比swarm 复杂的多 相对而已swarm比较轻量级 而且跟docke

    2024年02月19日
    浏览(44)
  • Docker Swarm: 容器编排的力量和优势深度解析

    🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:大数据系列 ✨文章内容:Docker Swarm 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 在现代应用开发和部署中,容器化技术以其轻量、可移

    2024年02月01日
    浏览(50)
  • Docker可视化容器监控工具portainer.io(docker监控docker)(Docker Standalone、Docker Swarm、Kubernetes、ACI、Nomad)监控容器

    Ubuntu上有一些流行的Docker容器监控服务,可以通过Web界面进行查看和管理。以下是一些常用的Docker容器监控工具: Portainer:Portainer是一个轻量级的Docker管理界面,提供了直观的Web界面来管理和监控Docker容器。它支持容器的创建、启动、停止、删除等操作,并提供了实时的容器

    2024年02月08日
    浏览(44)
  • 容器编排工具的比较:Kubernetes、Docker Swarm、Nomad

    随着容器化技术的普及,容器编排工具成为了现代应用部署和管理的重要组成部分。容器编排工具能够自动化容器的部署、扩展和管理,从而提高应用的可靠性和可伸缩性。在众多的容器编排工具中,Kubernetes、Docker Swarm和Nomad是三个备受关注的主要候选。本文将对这三个工具

    2024年02月09日
    浏览(57)
  • 【云原生】详细学习Docker-Swarm部署搭建和基本使用

      个人主页: 征服bug-CSDN博客 kubernetes专栏: 云原生_征服bug的博客-CSDN博客 目录 Docker-Swarm编排 1.概述 2.docker swarm优点 3.节点类型 4.服务和任务 5.路由网格 6.实践Docker swarm         Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器

    2024年02月13日
    浏览(49)
  • Docker Swarm实现容器的复制均衡及动态管理:详细过程版

    Swarm是一套较为简单的工具,用以管理Docker集群,使得Docker集群暴露给用户时相当于一个虚拟的整体。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(dockerclient in go, docker_py, docker等)均可以直接与Swarm通信。 Swarm的设计和其他Docker项目一样,遵

    2024年02月05日
    浏览(52)
  • Kubernetes、Docker Swarm和Rancher的特点 - 容器编排平台比较

    本文将介绍三种流行的容器编排平台:Kubernetes、Docker Swarm和Rancher。我们将比较它们的特点,包括架构、功能、性能和生态系统。通过了解这些平台的优势和劣势,读者可以更好地选择适合自己需求的容器编排平台。 随着容器技术的快速发展,容器编排平台的需求也日益增长

    2024年02月12日
    浏览(63)
  • Kubernetes VS Docker Swarm:选择适合自己的容器编排工具

    容器编排工具是一种自动化部署和管理容器的工具。 利用容器编排工具可以方便地解决容器化应用程序的部署、扩展和高可用性等问题。 Kubernetes 和 Docker Swarm 是目前最流行的两个容器编排工具,因此选用它们来进行比较。 1.1 Kubernetes 的来源和发展背景 Kubernetes 源于 Google 的

    2024年02月06日
    浏览(76)
  • 49学习容器管理平台 Docker Swarm 的基本概念和应用,包括节点管理、服务编排

    Docker Swarm 是 Docker 官方提供的容器编排工具,可以管理多个 Docker 节点,并支持自动化扩展、负载均衡等功能。下面是 Docker Swarm 的基本概念和使用方法,包括节点管理和服务编排。 在 Docker Swarm 中,一个或多个 Docker 节点组成一个 Swarm 集群,其中一个节点是 Swarm Manager,负责

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包