狂自私

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

简述删除一个Pod流程

删除一个Pod的流程在Kubernetes(K8s)中是一个相对简单但又涉及多个步骤的过程。以下是删除Pod的简要流程:

1. 发起删除请求

用户可以通过kubectl delete pod <pod-name>命令或K8s API发起删除Pod的请求。

2. API Server接收请求

  • API Server接收到删除请求后,会验证请求的有效性。
  • 如果请求有效,API Server会将删除操作记录在etcd中,并更新Pod的状态为“Terminating”。

3. Graceful Shutdown(优雅关闭)

  • K8s会根据Pod的配置(如terminationGracePeriodSeconds)执行优雅关闭。在这个时间段内,K8s会向Pod内的容器发送SIGTERM信号,请求其进行清理工作并正常退出。
  • 如果容器在指定的时间内没有停止,K8s会强制终止容器,发送SIGKILL信号。

4. Kubelet处理删除

  • 工作节点上的Kubelet接收到Pod的删除通知后,会开始处理该Pod的删除。
  • Kubelet会停止Pod内的容器,并释放相关资源(如IP地址、存储卷等)。

5. 状态更新

  • Kubelet将Pod的最终状态更新回API Server,表示Pod已被删除。
  • API Server会从etcd中移除该Pod的记录。

6. 确认删除

  • 用户可以通过kubectl get pods命令确认Pod已被成功删除,不再出现在Pod列表中。

总结

删除Pod的过程涉及用户请求、API Server处理、优雅关闭、Kubelet执行和状态更新等多个环节。K8s通过这一流程确保Pod的安全删除,并尽量减少对正在运行应用的影响。

posted on   狂自私  阅读(330)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示