首页
视频
资源
登录
风清月
愿你出走半生,归来仍是少年
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
mvc
9篇
c#面试题
1篇
爬虫
1篇
Redis
1篇
NET
37篇
JS相关
2篇
Oracle
1篇
随笔
30篇
学点小英语
9篇
Vue.js
3篇
jquery
2篇
Sqlerver
7篇
前端
53篇
ps
1篇
net core
39篇
更多
架构
9篇
rpc
1篇
EF
6篇
mui
8篇
微服务
8篇
微信
1篇
.net
5篇
svn
1篇
人工智能
6篇
nginx
4篇
docker
14篇
git
4篇
c++
3篇
linux
11篇
uniapp
7篇
k8s
23篇
python
3篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术
原
k8s 重启 pod
13178
人阅读
2022/6/27 16:00
总访问:
1639494
评论:
0
收藏:
1
手机
分类:
k8s
### pod准备 使用如下pod的yaml文件 ``` [root@host131 config]# cat busybox-pod-test.yaml apiVersion: v1 kind: Pod metadata: name: test-pod spec: containers: - name: busybox-container image: busybox:latest command: ["sleep", "15"] restartPolicy: Never [root@host131 config]# ``` tn2>执行命令:kubectl create -f busybox-pod-volume.yaml 执行日志示例如下所示: ``` [root@host131 ~]# kubectl get pods No resources found in default namespace. [root@host131 ~]# kubectl create -f busybox-pod-test.yaml pod/test-pod created [root@host131 ~]# ``` 上述pod在15秒之后即会退出,而根据pod的生命周期的状态说明,会显示为completed的状态,状态示例如下所示: ``` [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 0/1 Completed 0 57s [root@host131 ~]# ``` ### pod重启:方式1:使用replace命令替换 可以使用replace结合force选项进行重启,前提是有之前启动时所使用的yaml文件 ``` [root@host131 ~]# kubectl replace --force -f busybox-pod-test.yaml pod "test-pod" deleted pod/test-pod replaced [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 0/1 ContainerCreating 0 3s [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 1/1 Running 0 4s [root@host131 ~]# ``` 从结果中可以看出,此种方式实际上替换(replace)的过程是先进行删除然后再次创建的过程 ### pod重启:方式2:无yaml文件的replace方法 tn2> 执行命令:kubectl get pod pod名称 -n 命名空间名称 -o yaml | kubectl replace --force -f - 没有yaml文件时可以使用-o yaml生成,然后再进行replace,执行示例日志如下所示: ``` [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 0/1 Completed 0 5m15s [root@host131 ~]# kubectl get pod test-pod -n default -o yaml | kubectl replace --force -f - pod "test-pod" deleted pod/test-pod replaced [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 1/1 Running 0 13s [root@host131 ~]# ``` ### pod重启:方式3:重新创建 相当于上述replace命令的手工执行,可以根据pod生成yaml文件进行创建,先生成创建的yaml文件 ``` [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 0/1 Completed 0 3m13s [root@host131 ~]# kubectl get pod test-pod -n default -o yaml >ttt.yml [root@host131 ~]# ``` 然后删除pod ``` [root@host131 ~]# kubectl delete pod test-pod pod "test-pod" deleted [root@host131 ~]# kubectl get pods No resources found in default namespace. [root@host131 ~]# ``` 然后重新创建pod ``` [root@host131 ~]# kubectl create -f ttt.yml pod/test-pod created [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 1/1 Running 0 6s [root@host131 ~]# ``` ### pod重启:方式4:设定restartPolicy 前提是使用了Deployment或者直接是restartPolicy的设定不是Never,比如是Always,示例如下所示: ``` [root@host131 ~]# cat busybox-pod-test.yaml apiVersion: v1 kind: Pod metadata: name: test-pod spec: containers: - name: busybox-container image: busybox:latest command: ["sleep", "15"] restartPolicy: Always [root@host131 ~]# ``` 实际使用的时候可以看出,由于此restartPolicy的作用,pod变为completed的时候会立即被重启 ``` [root@host131 ~]# kubectl get pods No resources found in default namespace. [root@host131 ~]# kubectl create -f busybox-pod-test.yaml pod/test-pod created [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 1/1 Running 0 7s [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 0/1 Completed 0 25s [root@host131 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE test-pod 1/1 Running 1 28s [root@host131 ~]# ``` ### pod重启:方式5:直接删除Pod 前提:使用Deployment等方式的时候,相当于在pod之上又封了一层,所以此时直接删除pod,会有Deployment根据策略进行管控,一般直接删除即可,也可以调整replica来实现类似的效果。 ### pod重启:方式6 大于1.15版本直接用kubectl rollout restart deploy <name>
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}