推广 热搜: 使用  page  音视频  选择  搜索引擎  百度  企业  可以  个数  父亲 

docker swarm 调度插件

   日期:2024-12-26     作者:8r2jv    caijiyuan   评论:0    移动:http://ww.kub2b.com/mobile/news/13193.html
核心提示:Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docke


Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。

swarm集群提供给用户管理集群内所有容器的操作接口与使用一台Docker主机基本相同。

1、节点

运行 Docker 的主机可以主动初始化一个 Swarm 集群或者加入一个已存在的 Swarm 集群,这样这个运行 Docker 的主机就成为一个 Swarm 集群的节点 (node) 。

节点分为管理 (manager) 节点和工作 (worker) 节点。

管理节点用于 Swarm 集群的管理,docker swarm 命令基本只能在管理节点执行(节点退出集群命令 docker swarm leave 可以在工作节点执行)。一个 Swarm 集群可以有多个管理节点,但只有一个管理节点可以成为 leader,leader 通过 raft 协议实现。

工作节点是任务执行节点,管理节点将服务 (service) 下发至工作节点执行。管理节点默认也作为工作节点。你也可以通过配置让服务只运行在管理节点。

来自 Docker 官网的这张图片形象的展示了集群中管理节点与工作节点的关系。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7luF9SO-1582447613354)(https://github.com/gmg0829/Img/blob/master/dockerImg/swarm-diagram.png?raw=true)]

2、服务和任务

  • 任务 (Task)是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器。
  • 服务 (Services) 是指一组任务的集合,服务定义了任务的属性。服务有两种模式:
  • replicated services 按照一定规则在各个工作节点上运行指定个数的任务。
  • global services 每个工作节点上运行一个任务

两种模式通过 docker service create 的 --mode 参数指定。

来自 Docker 官网的这张图片形象的展示了容器、任务、服务的关系。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gT9uYxLO-1582447613356)(https://github.com/gmg0829/Img/blob/master/dockerImg/services-diagram.png?raw=true)]

Swarm在scheduler节点(leader 节点)运行容器的时候,会根据指定的策略来计算最适合运行容器的节点,目前支持的策略有:spread, binpack, random.

1)Random

顾名思义,就是随机选择一个 Node 来运行容器,一般用作调试用,spread 和 binpack 策略会根据各个节点的可用的 CPU, RAM 以及正在运行的容器的数量来计算应该运行容器的节点。

2)Spread

在同等条件下,Spread 策略会选择运行容器最少的那台节点来运行新的容器,binpack 策略会选择运行容器最集中的那台机器来运行新的节点。使用 Spread 策略会使得容器会均衡的分布在集群中的各个节点上运行,一旦一个节点挂掉了只会损失少部分的容器。

3)Binpack

Binpack 策略最大化的避免容器碎片化,就是说 binpack 策略尽可能的把还未使用的节点留给需要更大空间的容器运行,尽可能的把容器运行在一个节点上面。

  • manager:192.168.124.129
  • node:192.168.124.132

1、修改主机名,配置hosts文件

2、配置docker

编辑docker文件:/usr/lib/systemd/system/docker.service

修改ExecStart行为下面内容

重新加载docker配置

所有节点加上上面标记的部分,开启2375端口

3、所有节点下载swarm镜像文件

4、创建swarm并初始化

5、将node1加入到集群中

在node1下执行

6、管理节点查看集群节点状态

7、Swarm 的Web管理

浏览器访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ibiw3jB-1582447613356)(https://github.com/gmg0829/Img/blob/master/dockerImg/portainer.png?raw=true)]

1、布署服务前创建于个用于集群内不同主机之间容器通信的网络

2、创建服务(nginx为例)

3、在线动态扩容服务

4、节点故障

5、其它常用命令介绍

本文地址:http://ww.kub2b.com/news/13193.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号