docker swarm 搭建模拟集群环境(二)

详细内容请查看个人博客:https://www.michloas.top/2019/02/23/docker-swarm-2/

概述

Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具。

使用 Swarm 集群之前需要了解以下几个概念。

节点

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

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

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

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

来自 Docker 官网的这张图片形象的展示了集群中管理节点与工作节点的关系。
在这里插入图片描述

服务和任务

任务 (Task)是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器。

服务 (Services) 是指一组任务的集合,服务定义了任务的属性。服务有两种模式:

replicated services 按照一定规则在各个工作节点上运行指定个数的任务。

global services 每个工作节点上运行一个任务

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

来自 Docker 官网的这张图片形象的展示了容器、任务、服务的关系。

在这里插入图片描述

创建swarm集群

创建swarm管理节点

使用下面命令初始化主节点,ip地址地址修改为实际的地址即可

docker swarm init --advertise-addr 192.168.204.10

执行成功之后会出现下面的信息

 docker swarm join \
    --token SWMTKN-1-6bwghuuvkp9ftuoph2s4rp907kshic9cwl678r111ecg46i96w-az0b8g8pexfnod4fyev5l2g4l \
    192.168.204.10:2377

如果说初始化之后没有记住join命令的话,那么可以使用下方的命令来进行查询

docker swarm join-token worker

使用 docker info 查看集群中的相关信息:

[root@localhost ~]# docker info
...
Swarm: active
 NodeID: 6b7ae5t8e9z6ggxx9ugzewoz9
 Is Manager: true
 ClusterID: slppo8pz23khwso1hfodc1nvl
 Managers: 1
 Nodes: 3
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: 192.168.204.10
 Manager Addresses:
  192.168.204.10:2377
...

使用 docker node ls 查看集群中的相关信息:

[root@localhost ~]# docker node ls
ID                           HOSTNAME               STATUS  AVAILABILITY  MANAGER STATUS
6b7ae5t8e9z6ggxx9ugzewoz9 *  localhost.localdomain  Ready   Active        Leader
gwvgv4vq5um6929t9ddu74ftd    localhost.localdomain  Ready   Active
n8q1g3pxzddkrasllryplownj    localhost.localdomain  Ready   Active

将Worker节点加入swarm集群

登录到worker主机上,执行前面创建swarm时输出的命令:

[root@localhost ~]# docker swarm join \
>     --token SWMTKN-1-6bwghuuvkp9ftuoph2s4rp907kshic9cwl678r111ecg46i96w-az0b8g8pexfnod4fyev5l2g4l \
>     192.168.204.10:2377
This node joined a swarm as a worker.

管理swarm集群

删除 swarm 集群节点

worker节点离开集群

docker swarm leave

leader节点离开集群

docker swarm leave --force

在Docker Swarm集群中,在删除Docker集群节点后,集群中该节点仍然存在,但是状态显示为Down, 需要在Swarm的Manager节点执行以下命令, 删除已经移除的Worker节点:

docker node rm --force 4ukr7ghj4iuvb89gu0g5ok1d

更新 swarm 集群节点

如果需要对Docker Swarm节点进行更新,需要在manager节点上执行命令:

[root@localhost ~]# docker swarm update

Usage:  docker swarm update [OPTIONS]

Update the swarm

详细的一些参数指令可以参考docker官方文档

https://docs.docker.com/engine/reference/commandline/node_rm/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值