Docker----DockerSwarm集群环境弹性服务动态扩缩容

简介: Docker----DockerSwarm集群环境弹性服务动态扩缩容

【原文链接】

(1)本文在Docker(14)DockerSwarm集群搭建 的环境基础上

如下,有三个manager节点(192.168.145.128,192.168.145.129,192.168.145.130)和一个worker节点(192.168.145.131)

[root@localhost ~]# docker node ls
ID                            HOSTNAME                STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
fhpe4p0m4gb47pxh48kf9psp8     localhost.localdomain   Ready     Active         Reachable        20.10.10
p1cfiyfyxgkhupjj03tvq40ph     localhost.localdomain   Ready     Active         Reachable        20.10.10
wsqaq4isrzhlgphnnaqxucy6r *   localhost.localdomain   Ready     Active         Leader           20.10.10
xlgi99te9cchyz9n3ydkycf6k     localhost.localdomain   Ready     Active                          20.10.10
[root@localhost ~]#

(2)查看docker service 帮助文档

[root@localhost ~]# docker service --help

Usage:  docker service COMMAND

Manage services

Commands:
  create      Create a new service
  inspect     Display detailed information on one or more services
  logs        Fetch the logs of a service or task
  ls          List services
  ps          List the tasks of one or more services
  rm          Remove one or more services
  rollback    Revert changes to a service's configuration
  scale       Scale one or multiple replicated services
  update      Update a service

Run 'docker service COMMAND --help' for more information on a command.
[root@localhost ~]#

(3)创建集群服务

如下,在一个manager集群节点上(192.168.145.128)创建一个Nginx集群服务,对外暴露端口8080,映射到内部80端口,设置副本数为2

[root@localhost ~]# docker service create --name nginx_service -p 8080:80 --replicas 2 nginx
j2jgvfdfyqgcsf1zcii23djul
overall progress: 2 out of 2 tasks
1/2: running   [==================================================>]
2/2: running   [==================================================>]
verify: Service converged
[root@localhost ~]#

(4)查看已创建的集群服务

[root@localhost ~]# docker service ls
ID             NAME            MODE         REPLICAS   IMAGE          PORTS
j2jgvfdfyqgc   nginx_service   replicated   2/2        nginx:latest   *:8080->80/tcp
[root@localhost ~]#

(5)查看已经创建的容器

如下,发现在192.168.145.128和192.168.145.129上分别启动了一个docker,这是因为设置了副本数为2

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS     NAMES
c01d7f019abd   nginx:latest   "/docker-entrypoint.…"   4 minutes ago   Up 4 minutes   80/tcp    nginx_service.2.k3zo9jubllvv95muy3l4gydf3
[root@localhost ~]#

(6)在浏览器访问,正常

image.png

(7)动态扩容服务

在其中一个manager节点执行扩容操作,设置副本数为10

[root@localhost ~]# docker service update --replicas 10 nginx_service
nginx_service
overall progress: 10 out of 10 tasks
1/10: running   [==================================================>]
2/10: running   [==================================================>]
3/10: running   [==================================================>]
4/10: running   [==================================================>]
5/10: running   [==================================================>]
6/10: running   [==================================================>]
7/10: running   [==================================================>]
8/10: running   [==================================================>]
9/10: running   [==================================================>]
10/10: running   [==================================================>]
verify: Service converged
[root@localhost ~]#

(8)查看各个节点docker数量

发现在各个节点上共创建了10个正常的docker,因为设置了副本数为10

[root@localhost ~]# docker service ps nginx_service
ID             NAME                  IMAGE          NODE                    DESIRED STATE   CURRENT STATE                     ERROR                              PORTS
u41u5xs2sx4u   nginx_service.1       nginx:latest   localhost.localdomain   Running         Running 47 seconds ago
jnyxv9jftpj5   nginx_service.2       nginx:latest   localhost.localdomain   Running         Running 3 seconds ago
s823t867u872   nginx_service.3       nginx:latest   localhost.localdomain   Running         Running 32 seconds ago
dshe3f5rfkza    \_ nginx_service.3   nginx:latest   localhost.localdomain   Shutdown        Failed 3 seconds ago              "error creating external conne…"
8r80ylbz4v8c    \_ nginx_service.3   nginx:latest   localhost.localdomain   Shutdown        Rejected 4 seconds ago            "error creating external conne…"
mwo0vxu9zd4d    \_ nginx_service.3   nginx:latest   localhost.localdomain   Shutdown        Failed 5 seconds ago              "error creating external conne…"
c8f19q3tge0s   nginx_service.4       nginx:latest   localhost.localdomain   Running         Running 4 seconds ago
01smx140ihm6   nginx_service.5       nginx:latest   localhost.localdomain   Running         Running less than a second ago
9onahdwcgfdg    \_ nginx_service.5   nginx:latest   localhost.localdomain   Shutdown        Rejected less than a second ago   "error creating external conne…"
ulr5ntbeqltz    \_ nginx_service.5   nginx:latest   localhost.localdomain   Shutdown        Rejected 13 seconds ago           "error creating external conne…"
c7rbpp5hcadx    \_ nginx_service.5   nginx:latest   localhost.localdomain   Shutdown        Failed 14 seconds ago             "error creating external conne…"
k8u10ncvdpje   nginx_service.6       nginx:latest   localhost.localdomain   Running         Running 33 seconds ago
n8rvtsglqrum    \_ nginx_service.6   nginx:latest   localhost.localdomain   Shutdown        Rejected 8 seconds ago            "error creating external conne…"
kfm79fl5773k    \_ nginx_service.6   nginx:latest   localhost.localdomain   Shutdown        Failed 9 seconds ago              "error creating external conne…"
ep3mz85cq42q    \_ nginx_service.6   nginx:latest   localhost.localdomain   Shutdown        Rejected 6 seconds ago            "error creating external conne…"
t53va7itdkj8   nginx_service.7       nginx:latest   localhost.localdomain   Running         Running 3 seconds ago
0uozqvv5gx9r   nginx_service.8       nginx:latest   localhost.localdomain   Running         Running 47 seconds ago
7u58boi8oppy   nginx_service.9       nginx:latest   localhost.localdomain   Running         Running less than a second ago
p1pzcqsgfaoo    \_ nginx_service.9   nginx:latest   localhost.localdomain   Shutdown        Failed less than a second ago     "error creating external conne…"
p34rm7b9309p    \_ nginx_service.9   nginx:latest   localhost.localdomain   Shutdown        Failed less than a second ago     "error creating external conne…"
1lgbmlxpnf32    \_ nginx_service.9   nginx:latest   localhost.localdomain   Shutdown        Rejected 14 seconds ago           "error creating external conne…"
yo0zcq4vej8i   nginx_service.10      nginx:latest   localhost.localdomain   Running         Running 47 seconds ago
[root@localhost ~]#

(9)动态缩容

如下,设置副本数为4

[root@localhost ~]# docker service update --replicas 4 nginx_service
nginx_service
overall progress: 4 out of 4 tasks
1/4: running   [==================================================>]
2/4: running   [==================================================>]
3/4: running   [==================================================>]
4/4: running   [==================================================>]
verify: Service converged
[root@localhost ~]# 

(10)查看各个节点docker数量

然后查看发现各个节点docker总数压缩为4个了

[root@localhost ~]# docker service ps nginx_service
ID             NAME                  IMAGE          NODE                    DESIRED STATE   CURRENT STATE             ERROR                              PORTS
zm51ipb5u3zk   nginx_service.1       nginx:latest   localhost.localdomain   Running         Running 14 minutes ago
k3zo9jubllvv   nginx_service.2       nginx:latest   localhost.localdomain   Running         Running 14 minutes ago
lfjg4kovkuu2    \_ nginx_service.2   nginx:latest   localhost.localdomain   Shutdown        Rejected 14 minutes ago   "error creating external conne…"
ph1p09dnzzol    \_ nginx_service.2   nginx:latest   localhost.localdomain   Shutdown        Rejected 14 minutes ago   "error creating external conne…"
twg01hlw9lge    \_ nginx_service.2   nginx:latest   localhost.localdomain   Shutdown        Rejected 14 minutes ago   "error creating external conne…"
6sccd1tvt8rq   nginx_service.3       nginx:latest   localhost.localdomain   Running         Running 4 minutes ago
y3lk71ay7tqn    \_ nginx_service.3   nginx:latest   localhost.localdomain   Shutdown        Rejected 4 minutes ago    "error creating external conne…"
7oqy4e593wo8    \_ nginx_service.3   nginx:latest   localhost.localdomain   Shutdown        Failed 4 minutes ago      "error creating external conne…"
97wxj8kyr4be   nginx_service.6       nginx:latest   localhost.localdomain   Running         Running 4 minutes ago
1hvkth5ioau2    \_ nginx_service.6   nginx:latest   localhost.localdomain   Shutdown        Rejected 4 minutes ago    "error creating external conne…"
svwo7uyxqomp    \_ nginx_service.6   nginx:latest   localhost.localdomain   Shutdown        Rejected 4 minutes ago    "error creating external conne…"
xv3ao9argjwo    \_ nginx_service.6   nginx:latest   localhost.localdomain   Shutdown        Rejected 4 minutes ago    "error creating external conne…"
sdsay83pvtz2    \_ nginx_service.6   nginx:latest   localhost.localdomain   Shutdown        Rejected 4 minutes ago    "error creating external conne…"
[root@localhost ~]#

(11)如此便可实现集群服务的控台扩缩容了

目录
相关文章
|
2天前
|
Docker 容器
paddleocr 在docker环境下部署_docker部署paddleocr,90%的人看完都说好
paddleocr 在docker环境下部署_docker部署paddleocr,90%的人看完都说好
|
2天前
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
18 1
|
19小时前
|
JSON 测试技术 定位技术
【好用的个人工具】在Docker环境下部署Simple mind map思维导图工具
【5月更文挑战第16天】在Docker环境下部署Simple mind map思维导图工具
8 1
【好用的个人工具】在Docker环境下部署Simple mind map思维导图工具
|
2天前
|
运维 Linux Docker
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
|
2天前
|
运维 Linux Docker
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧
|
2天前
|
Docker 容器
docker部署omni_usdt 0.8.0版本私有链集群环境
docker部署omni_usdt 0.8.0版本私有链集群环境
|
4天前
|
并行计算 Ubuntu Docker
Docker环境Ubuntu20.04安装Python3.10版本
Docker环境Ubuntu20.04安装Python3.10版本
29 0
|
4天前
|
JavaScript 前端开发 测试技术
Docker环境下部署Ghost开源内容管理系统
【5月更文挑战第9天】Docker环境下部署Ghost开源内容管理系统
13 0
|
4天前
|
网络安全 Docker 容器
测试开发环境下centos7.9下安装docker的minio
测试开发环境下centos7.9下安装docker的minio
19 1
|
4天前
|
Shell 数据安全/隐私保护 Docker
docker安装anaconda3 python环境
docker安装anaconda3 python环境
11 0