Docker Swarm集群管理

前提:基础Docker Swarm环境
服务、容器、任务三者关系:
在这里插入图片描述

节点管理

变更管理

  • 节点的可用性(AVAILABILITY)状态
状态 说明
Active 集群中该节点可被指派任务
Pause 集群中该节点不可指派新的任务,但其他已存在的任务仍保持运行
Drain 集群中该节点不可指派新的任务,Swarm调度器停止已存在的任务,并将它们调度到可用节点上

常见的变更操作:

  1. 设置管理节点只具有管理功能
  2. 对服务进行停机维护,可以修改AVAILABILITY为Drain状态
  3. 暂停一个节点,使该节点不再接收新的任务
  4. 恢复一个不可用或者暂停的节点
#将管理节点的AVAILABILITY值修改成Drain
docker node update --availability drain manager
docker node ls

在这里插入图片描述

添加标签元数据

  • 支持给每个节点添加标签元数据
  • 根据标签可选择性地调度某个服务部署到期望的一组节点上

格式:docker node update --label-add 键值

docker node update --label-add chenshiyi-01 worker01

在这里插入图片描述

节点提权/降权

#将工作节点变为管理节点
docker node promote worker01 worker02
docker node ls

#将管理节点变为工作节点
docker node demote worker01 worker02
docker node ls

在这里插入图片描述

退出集群

使用docker swarm leave可使管理节点、工作节点退出集群,但集群中有其他工作节点,管理节点退出集群需使用docker swarm leave --force;工作节点退出集群后可重新加入集群中,但管理节点不可以。

docker swarm leave --force
docker swarm leave

在这里插入图片描述

服务管理

创建服务

格式:docker service create

#使用nginx镜像创建web服务,并指定服务副本数为2
docker service create --replicas 2 --name web nginx

#查看当前已部署成功的服务信息
docker service ls
#查看指定服务信息
docker service ps web

在这里插入图片描述
在这里插入图片描述

显示服务详细信息

#显示服务详细信息,以JSON格式显示:
docker service inspect web
#显示服务详细信息,以阅读方式显示:
docker service inspect --pretty web

请添加图片描述
请添加图片描述

服务的扩容/缩容

格式:docker service scale 服务 ID=服务 Task 总数

#将副本数扩充为3
docker service scale web=3
#将副本数缩减为1
docker service scale web=1

在这里插入图片描述

删除服务

格式:docker service rm 服务名称

#删除集群中所有web服务
docker service rm web
docker service ps web

在这里插入图片描述

滚动更新

#创建服务并通过--update-delay设置容器更新时间间隔,每次成功部署一个服务后,延迟10s,然后更新下一个服务。
docker service create \
>   --replicas 3 \
>   --name redis \
> --update-delay 10s \
> redis:3.0.6 

#更新以部署服务的镜像版本,但之前的容器不会删除,只会停止。
docker service update --image redis:3.0.7 redis

请添加图片描述
请添加图片描述

网络管理

添加自定网路

#创建Overlay网络
docker network create --driver overlay my-network

#创建服务时,通过--network指定网络为已存在的Overlay网络
docker service create\
> --replicas 3 \
>  --network my-network \
>  --name myweb \
>  nginx \


在这里插入图片描述

数据卷管理

创建并应用数据卷

格式:docker service create

#创建数据卷并查看创建的数据卷
docker service create test-01
docker volume ls

#应用数据卷
docker service create --mount type=volume,src=test-01,dst=/usr/share/nginx/html --replicas 3 --name kgc-web-01 nginx

#查看数据卷详细信息
docker service ps test-01
docker volume inspect test-01

#查看数据同步
cd /var/lib/docker/volumes/test-01/_data/
mkdir test01 test02

#查看容器ID并进入容器中验证
docker ps
docker exec -it 
ls /usr/share/nginx/html/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46329906/article/details/117105912