【Docker_Swarm】Swarm 集群创建,从“0”到“1”

Docker Swarm

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

  • swarm[swɔːm]

  • 详细 >

  • n. 一大群(移动中的昆虫);(移动着的)一大群人;(多指发生在火山附近的)地震群;(天文)一大群小型天体同时在空中出现

  • v. (昆虫)成群飞行;(人)蜂涌,涌动;挤满,云集;成群地包围;爬(梯子等),攀

相关术语

Swarm Manager:集群的管理工具,通过swarm manager管理多个节点。
Node:是已加入到swarm的Docker引擎的实例 。
manager nodes:也就是管理节点 ,执行集群的管理功能,维护集群的状态, 选举一个leader节点去执 行调度任务
worker nodes,也就是工作节点 ,接收和执行任务。参与容器集群负载调度, 仅用于承载task

环境准备

  1. 准备三台已近安装docker engine的centos/Ubuntu系统主机(docker版本必须在 1.12以上的版本,老版本不支持swarm)
  2. docker容器主机的ip地址固定,集群中所有工作节点必须能访问该管理节点
  3. 集群管理节点必须使用相应的协议并且保证端口可用 集群管理通信:
  • TCP,端口2377
  • 节点通信:TCP和UDP,端口7946
  • 覆盖型网络(docker网络):UDP,端口4789 overlay driver

docker swarm

  • manager node:管理节点
  • work node2:计算节点
  • work node3:计算节点

创建Docker Swarm

$ docekr swarm init --advertise-addr 191.168.128.130
在该ip机器上执行该条指令,则该节点为管理节点

想该集群中添加工作节点

work1
work 2
$ docker swarm join --token {token code} 192.168.128.130:2377
需要在工作节点也就是说管理节点以外的节点执行以上命令将其挂在上方的管理节点所在的集群上,因此需要最后写上到 管理节点ip+port


### 向该集群部署服务

docker service create --replicas 6 --name=hello hello-word ping docker.com

  • docker service特定
  • create 创建服务/容器
  • --replicas * 副本数量
  • --name=hello 容器/服务名称
  • · hello-word·所基于的基础镜像
  • ping docker.com 该服务运行时所执行的命令

查看该集群中的服务

docker service ls

查看所部署的某服务具体详情

docker service inspect hello

查看所部署的指定服务在该集群节点上的部署分配以及运行情况

docker serivce ps hello

更改 Docker Swarm 集群服务的副本replicas 的数量

  • 命令:$ docker service scale hello=6
  • 修改完成后,我们可通过 docker service ps 来查看执行结果

补:继续查看管理节点集群信息与之前的区别

docker node ls

删除集群服务

  • 命令:·docker service re hello
  • 查看: docker service ps

访问网络

默认的 集群网络驱动overlap并不安全

我们可以自定义网络

  • 命令:·docker network create -d overlay my-overlay ·
  • 检查:·docker network ls·
使用自定义网络创建集群服务
  • 命令:docker service create --network my-overlay --name my-hello --publish 8080:80 -replicas 6 nginx(nginx 基于nignx镜像来构建的服务)
  • 检查:docker service ps
访问?
  • 命令:在浏览器中,使用ip:port查看
  • eg:·192.168.128.126:8080·

补充

1. 移除集群中的工作节点
  • 命令:docker swarm leave(在要解除集群的工作节点进行离开该集群)
  • 检查:docker node ls
  • 检查服务:docker ps (当前移除的容器/服务,会自动在其他工作节点进行补充)
2.解散集群(解散小组)
  • instruction:docker swarm leave --force

有待改进goning~~·~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拾贰_C

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值