|NO.Z.00137|——————————|CloudNative|——|KuberNetes&资源调度.V07|——|deployment.v05|暂停|恢复|
一、deployment暂停和恢复
### --- deployment暂停恢复概述
~~~ 使用edit命令可以同时修改多个参数,统一去保存的。
~~~ 使用set命令多次修改它的配置,只触发一次更新呢?
~~~ 可以使用呢Deployment的暂停功能,就是多次执行deployment的更新给暂停掉,
~~~ 多次去修改它的参数,然后再把它的暂停给恢复
~~~ 这个就实现了使用set多次执行命令只触发一次的操作。
二、deployment暂停
### --- 暂停deployment的更新,比如以nginx为例
[root@k8s-master01 ~]# kubectl rollout pause deployment nginx
deployment.apps/nginx paused
### --- deployment暂停后修改配置参数
~~~ # 第一次修改:修改它的一些配置
[root@k8s-master01 ~]# kubectl set image deploy nginx nginx=nginx:1.15.3 --record
deployment.apps/nginx image updated
[root@k8s-master01 ~]# kubectl get po //可以看到它没有被更新,因为我们已经暂停了deployment的更新操作
NAME READY STATUS RESTARTS AGE
nginx-6cdd5dd489-rsf6k 1/1 Running 0 133m
nginx-6cdd5dd489-sfdzr 1/1 Running 0 131m
~~~ # 第二次修改:添加内存和CPU配置
[root@k8s-master01 ~]# kubectl set resources deploy nginx -c nginx --limits=cpu=200m,memory=128Mi --requests=cpu=10m,memory=16Mi
deployment.apps/nginx resource requirements updated
[root@k8s-master01 ~]# kubectl get deploy nginx -oyaml
spec:
containers:
- image: nginx:1.15.3
imagePullPolicy: IfNotPresent
name: nginx
resources: //启动容器使用最大的内存和CPU的使用量
limits:
cpu: 200m
memory: 128Mi
requests: //启动容器使用最小的内存和CPU的使用量
cpu: 10m
memory: 16Mi
### --- 修改配置后在暂停状态下pod是不会被更新的
~~~ 查看pod是否被更新
~~~ 在暂停状态下pod是不会发生任何更新的
[root@k8s-master01 ~]# kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-6cdd5dd489-rsf6k 1/1 Running 0 139m
nginx-6cdd5dd489-sfdzr 1/1 Running 0 136m
三、deployment恢复
### --- 恢复更新,查看pod更新状态
~~~ 恢复更新
[root@k8s-master01 ~]# kubectl rollout resume deploy nginx
deployment.apps/nginx resumed
### --- 查看pod更新记录,rs生成记录
~~~ 查看rs记录
[root@k8s-master01 ~]# kubectl get rs //可以看到恢复更新之后创建了一个新的RS
NAME DESIRED CURRENT READY AGE
nginx-5788dd5dcd 0 0 0 119m
nginx-5dfc8689c6 0 0 0 152m
nginx-65468bc655 0 0 0 119m
nginx-66bbc9fdc5 0 0 0 5h14m
nginx-68db656dd8 1 1 0 3s
### --- 查看pod更新记录
[root@k8s-master01 ~]# kubectl get po //修改了2次,所以创建了2个新的Pod。但最终只会留下一个,历史的会被执行后删除
NAME READY STATUS RESTARTS AGE
nginx-68db656dd8-df8xn 1/1 Running 0 7s
nginx-68db656dd8-fdw4k 0/1 ContainerCreating 0 2s
nginx-6cdd5dd489-rsf6k 1/1 Running 0 139m
nginx-6cdd5dd489-sfdzr 1/1 Terminating 0 137m
[root@k8s-master01 ~]# kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-68db656dd8-df8xn 1/1 Running 0 23s
nginx-68db656dd8-fdw4k 0/1 ContainerCreating 0 18s
nginx-6cdd5dd489-rsf6k 1/1 Running 0 140m
[root@k8s-master01 ~]# kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-68db656dd8-df8xn 1/1 Running 0 109s
nginx-68db656dd8-fdw4k 1/1 Running 0 104s
### --- 查看最终的配置参数是否符合更改后的参数配置
~~~ 查看结果是否符合更改后的参数
[root@k8s-master01 ~]# kubectl get deploy nginx -oyaml
spec:
containers:
- image: nginx:1.15.3
imagePullPolicy: IfNotPresent
name: nginx
resources:
limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 10m
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体