了解Swarm 集群管理

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

  Swarm 集群管理

简介

Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。

支持的工具包括但不限于以下各项:

  • Dokku
  • Docker Compose
  • Docker Machine
  • Jenkins

原理

如下图所示,swarm 集群由管理节点(manager)和工作节点(work node)构成。

  • swarm mananger:负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。
  • work node:即图中的 available node,主要负责运行相应的服务来执行任务(task)。

了解Swarm 集群管理,eureka,云原生


使用

以下示例,均以 Docker Machine 和 virtualbox 进行介绍,确保你的主机已安装 virtualbox。

1、创建 swarm 集群管理节点(manager)

创建 docker 机器:

$ docker-machine create -d virtualbox swarm-manager

了解Swarm 集群管理,eureka,云原生

初始化 swarm 集群,进行初始化的这台机器,就是集群的管理节点。

$ docker-machine ssh swarm-manager
$ docker swarm init --advertise-addr 192.168.99.107 #这里的 IP 为创建机器时分配的 ip。

了解Swarm 集群管理,eureka,云原生

以上输出,证明已经初始化成功。需要把以下这行复制出来,在增加工作节点时会用到:

docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377

2、创建 swarm 集群工作节点(worker)

这里直接创建好俩台机器,swarm-worker1 和 swarm-worker2 。

了解Swarm 集群管理,eureka,云原生

分别进入两个机器里,指定添加至上一步中创建的集群,这里会用到上一步复制的内容。

了解Swarm 集群管理,eureka,云原生

以上数据输出说明已经添加成功。

上图中,由于上一步复制的内容比较长,会被自动截断,实际上在图运行的命令如下:

docker@swarm-worker1:~$ docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377

3、查看集群信息

进入管理节点,执行:docker info 可以查看当前集群的信息。

$ docker info

了解Swarm 集群管理,eureka,云原生

通过画红圈的地方,可以知道当前运行的集群中,有三个节点,其中有一个是管理节点。

4、部署服务到集群中

注意:跟集群管理有关的任何操作,都是在管理节点上操作的。

以下例子,在一个工作节点上创建一个名为 helloworld 的服务,这里是随机指派给一个工作节点:

docker@swarm-manager:~$ docker service create --replicas 1 --name helloworld alpine ping docker.com

了解Swarm 集群管理,eureka,云原生

5、查看服务部署情况

查看 helloworld 服务运行在哪个节点上,可以看到目前是在 swarm-worker1 节点:

docker@swarm-manager:~$ docker service ps helloworld

了解Swarm 集群管理,eureka,云原生

查看 helloworld 部署的具体信息:

docker@swarm-manager:~$ docker service inspect --pretty helloworld

了解Swarm 集群管理,eureka,云原生

6、扩展集群服务

我们将上述的 helloworld 服务扩展到俩个节点。

docker@swarm-manager:~$ docker service scale helloworld=2

了解Swarm 集群管理,eureka,云原生

可以看到已经从一个节点,扩展到两个节点。

了解Swarm 集群管理,eureka,云原生

7、删除服务

docker@swarm-manager:~$ docker service rm helloworld

了解Swarm 集群管理,eureka,云原生

查看是否已删除:

了解Swarm 集群管理,eureka,云原生

8、滚动升级服务

以下实例,我们将介绍 redis 版本如何滚动升级至更高版本。

创建一个 3.0.6 版本的 redis。

docker@swarm-manager:~$ docker service create --replicas 1 --name redis --update-delay 10s redis:3.0.6

了解Swarm 集群管理,eureka,云原生

滚动升级 redis 。

docker@swarm-manager:~$ docker service update --image redis:3.0.7 redis

了解Swarm 集群管理,eureka,云原生

看图可以知道 redis 的版本已经从 3.0.6 升级到了 3.0.7,说明服务已经升级成功。

9、停止某个节点接收新的任务

查看所有的节点:

docker@swarm-manager:~$ docker node ls

了解Swarm 集群管理,eureka,云原生

可以看到目前所有的节点都是 Active, 可以接收新的任务分配。

停止节点 swarm-worker1:

了解Swarm 集群管理,eureka,云原生

注意:swarm-worker1 状态变为 Drain。不会影响到集群的服务,只是 swarm-worker1 节点不再接收新的任务,集群的负载能力有所下降。

可以通过以下命令重新激活节点:

docker@swarm-manager:~$  docker node update --availability active swarm-worker1

了解Swarm 集群管理,eureka,云原生文章来源地址https://www.toymoban.com/news/detail-639898.html

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

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

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

相关文章

  • Nacos和Eureka比较、统一配置管理、Nacos热更新、多环境配置共享、Nacos集群搭建步骤

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 在类上加上@RefreshScope 视频地址https://www.bilibili.com/video/BV1LQ4y127n4?p=29spm_id_from=pageDrivervd_source=0a29c2be3bdd946212330ee312ca98b5 比较难,我没怎么记。以后工作需要再来学 16G内存真的跑不动 有需要的可以去看看黑

    2024年01月21日
    浏览(82)
  • 在CSDN学Golang云原生(Kubernetes集群管理)

    在 Kubernetes 集群中,Node 的隔离与恢复通常可以通过以下方式实现: 使用 Taints 和 Tolerations 实现隔离 Taints 和 Tolerations 是 Kubernetes 中用于节点调度的机制。通过给节点添加 taints(污点),可以让节点拒绝某些特定的 Pod 调度。而对于需要运行在这些节点上的 Pod,我们需要在

    2024年02月15日
    浏览(43)
  • 【swarm集群】

    今天给大家带来Dockers Swarm的学习 一、什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群Docker宿主机变成一个单一的虚拟主机,Swarm使用标准的Docker API接口作为其前端的访问入

    2024年02月11日
    浏览(28)
  • swarm集群

    一、什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群Docker宿主机变成一个单一的虚拟主机,Swarm使用标准的Docker API接口作为其前端的访问入口,换言之,各种形式的Docker C

    2024年02月11日
    浏览(33)
  • Docker Swarm 集群搭建

    Docker Swarm Mode Docker Swarm 集群搭建 Docker Swarm 节点维护 Docker Service 创建  搭建一个 docker swarm 集群,包含 5 个 swarm 节点。这 5 个 swarm 节点的 IP 与暂 时的角色分配如下(注意,搭建完成后会切换角色): host ip role docker 192.168.137.100 manager docker2 192.168.137.101 manager docker3 192.168.1

    2024年02月04日
    浏览(40)
  • Docker Swarm集群企业案例实战

    Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合 。 Swarm是Docker公司自主研

    2024年02月19日
    浏览(41)
  • 【云原生】详细学习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 集群由 管理节点 (Manager)和 工作节点 (Worker)构成。 管理节点:主要负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。诸如监控集群状态、分发任务至工作节点等操作。 工作节点:主要负责执行运行服务的任务。  官方文档:docker swarm |

    2024年02月14日
    浏览(47)
  • 【云原生 | 55】Docker三剑客之Docker Swarm简介和安装

    🍁 博主简介 :         🏅云计算领域优质创作者         🏅2022年CSDN新星计划python赛道第一名         🏅2022年CSDN原力计划优质作者         🏅阿里云ACE认证高级工程师         🏅阿里云开发者社区专家博主 💊 交流社区 :CSDN云计算交流社区欢迎您的

    2024年02月11日
    浏览(37)
  • Docker:Docker集群配置与应用(Docker Swarm)

    可以认为Docker Swarm(Go语言开发)将一个Docker主机池变成了一个单独的虚拟机。 了解 Docker Swarm,掌握 Swarm 集群 建立及节点管理 ; 了解 Swarm 服务,学会在 集群中部署和管理服务 ; 了解 Swarm 网络, 掌握 overlay 网络的创建和使用 ; 了解 Swarm 高可用性和负载平衡,学会配置外部

    2024年02月03日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包