searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

k8s重启某个pod的方式

2023-06-13 10:28:07
199
0

kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
 
容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release 的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更“透明”,这更便于监控和管理。

如果你想重启某个 Pod,但是又不想使用删除的方式,可以使用以下命令:

kubectl rollout restart deployment/<deployment-name>

这个命令会重启指定的 Deployment 中的所有 Pod,而不是删除它们。Kubernetes 会逐个重启每个 Pod,确保在一个 Pod 完全启动之前,它的前一个版本已经被停止了。

如果你只想重启某个 Deployment 中的部分 Pod,可以使用以下命令:

kubectl delete pod <pod-name>

这个命令会删除指定的 Pod,然后 Kubernetes 会重新启动一个新的 Pod 来替代它。如果你的 Pod 是通过 Deployment 管理的,Kubernetes 会自动创建一个新的 Pod 来替代已经被删除的 Pod。

请注意,重启 Pod 可能会导致它中断正在进行的任务,因此请谨慎操作。

有yaml文件的重启方式:

kubectl replace --force -f xxx.yaml

使用 "-o yaml"参数导出Pod模板并重建模板(推荐)

kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -

Kubernetes 1.15开始才有

kubectl rollout restart deployment {pod}  -n {namespace}
0条评论
0 / 1000
i****m
2文章数
0粉丝数
i****m
2 文章 | 0 粉丝
i****m
2文章数
0粉丝数
i****m
2 文章 | 0 粉丝
原创

k8s重启某个pod的方式

2023-06-13 10:28:07
199
0

kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
 
容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release 的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更“透明”,这更便于监控和管理。

如果你想重启某个 Pod,但是又不想使用删除的方式,可以使用以下命令:

kubectl rollout restart deployment/<deployment-name>

这个命令会重启指定的 Deployment 中的所有 Pod,而不是删除它们。Kubernetes 会逐个重启每个 Pod,确保在一个 Pod 完全启动之前,它的前一个版本已经被停止了。

如果你只想重启某个 Deployment 中的部分 Pod,可以使用以下命令:

kubectl delete pod <pod-name>

这个命令会删除指定的 Pod,然后 Kubernetes 会重新启动一个新的 Pod 来替代它。如果你的 Pod 是通过 Deployment 管理的,Kubernetes 会自动创建一个新的 Pod 来替代已经被删除的 Pod。

请注意,重启 Pod 可能会导致它中断正在进行的任务,因此请谨慎操作。

有yaml文件的重启方式:

kubectl replace --force -f xxx.yaml

使用 "-o yaml"参数导出Pod模板并重建模板(推荐)

kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -

Kubernetes 1.15开始才有

kubectl rollout restart deployment {pod}  -n {namespace}
文章来自个人专栏
容器管理
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0