简单搭建swarm集群,以及图形界面Portainer工具

Swarm 关键概念

1)Swarm

集群的管理和编排是使用嵌入到 docker 引擎的 SwarmKit,可以在 docker 初始化时启动 swarm 模式或者加入已存在的 swarm

2)Node

一个节点(node)是已加入到 swarm 的 Docker 引擎的实例 当部署应用到集群,你将会提交服务定义到管理节点,接着 Manager

管理节点调度任务到 worker 节点,manager 节点还执行维护集群的状态的编排和群集管理功能,worker 节点接收并执行来自

manager 节点的任务。通常,manager 节点也可以是 worker 节点,worker 节点会报告当前状态给 manager 节点

3)服务(Service)

服务是要在 worker 节点上要执行任务的定义,它在工作者节点上执行,当你创建服务的时,你需要指定容器镜像

4)任务(Task)

任务是在 docekr 容器中执行的命令,Manager 节点根据指定数量的任务副本分配任务给 worker 节点

docker swarm:集群管理,子命令有 init, join, leave, update。(docker swarm –help 查看帮助)

docker service:服务创建,子命令有 create, inspect, update, remove, tasks。(docker service–help 查看帮助)

docker node:节点管理,子命令有 accept, promote, demote, inspect, update, tasks, ls, rm。(docker node –help 查看帮助)

node 是加入到 swarm 集群中的一个 docker 引擎实体,可以在一台物理机上运行多个 node,node 分为:

manager nodes,也就是管理节点

worker nodes,也就是工作节点

1)manager node 管理节点:执行集群的管理功能,维护集群的状态,选举一个 leader 节点去执行调度任务。

2)worker node 工作节点:接收和执行任务。参与容器集群负载调度,仅用于承载 task。

3)service 服务:一个服务是工作节点上执行任务的定义。创建一个服务,指定了容器所使用的镜像和容器运行的命令。

service 是运行在 worker nodes 上的 task 的描述,service 的描述包括使用哪个 docker 镜像,以及在使用该镜像的容器中执行什么命令。

4)task 任务:一个任务包含了一个容器及其运行的命令。task 是 service 的执行实体,task 启动 docker 容器并在容器中执行任务。
Portainer工具:
Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

搭建swap集群:
管理机:

systemctl start docker					##开启docker服务
docker swarm init --advertise-addr 172.25.30.1:2377 --listen-addr 172.25.30.1:2377		##初始化swarm集群节点与端口,生成tocken值

在这里插入图片描述
节点机:

systemctl start docker				
docker swarm join --token SWMTKN-1-5ll1c4vfcaih190kuytwj3159eccifp0ycokezom2irqu3mjsy-3krec7lznheq845wi2xscmhe1 172.25.30.1:2377
														##根据生成token值,加入节点集群

在这里插入图片描述
建立swarm集群结果:
在这里插入图片描述
各主机加载Portainer镜像:

docker load -i portainer.tar					
docker load -i portainer-agent.tar				##加载使用镜像

主节点打开portainer工具:

docker service create --name portainer --publish 9000:9000 --replicas=1 --constraint 'node.role == manager' --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock --mount type=volume,src=portainer_data,dst=/data portainer/portainer -H unix:///var/run/docker.sock						
						##确定端口

登陆:

http://172.25.30.1:9000

设置密码登陆:
在这里插入图片描述
查看swarm集群:
在这里插入图片描述
证明集群添加成功。
现在使用Portainer开启nginx服务:
在各主机上加载nginx镜像

docker load -i nginx.tar

添加服务:
在这里插入图片描述
添加名字—>选择镜像—>选择端口映射—>添加服务

在这里插入图片描述

服务创建成功,swarm集群中所有nginx服务都已自动开启。
在这里插入图片描述
节点主机server2的nginx服务:
在这里插入图片描述
对主机加载镜像做删除/添加操作:
添加没有使用的镜像:
在这里插入图片描述
网页显示(由于主机之前使用k8s搭建集群,所以有很多k8s的镜像,但并不影响使用):
在这里插入图片描述
删除刚刚加载的portainer-agent镜像:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

Continue...

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值