Pod生命周期全解析:从创建到终止,你不得不知的关键阶段

💡 原文中文,约1400字,阅读约需4分钟。
📝

内容提要

Kubernetes 的 Pod 生命周期包括五个阶段:Pending、Running、Succeeded、Failed 和 Unknown。每个阶段有特定的状态和处理方式。重启策略和生命周期钩子是关键特性,合理配置探针和资源限制可确保应用稳定运行。

🎯

关键要点

  • Kubernetes Pod 生命周期包括五个阶段:Pending、Running、Succeeded、Failed 和 Unknown。

  • Pending 阶段:Pod 被创建后,调度器选择合适的节点,包含资源配额检查、节点筛选、节点优先级排序和绑定节点。

  • Running 阶段:Pod 被调度到节点并成功创建所有容器,Init Container 按序启动,主容器并行启动,健康检查开始执行。

  • Succeeded 状态:适用于一次性任务的 Pod,所有容器成功终止且不会重启。

  • Failed 状态:当容器以非零状态退出且重启策略为 Never 时,Pod 进入此状态,常见原因包括应用崩溃、配置错误和资源不足。

  • Unknown 状态:当 kubelet 无法获取 Pod 状态信息时报告,通常由网络问题、节点故障或 kubelet 异常导致。

  • 重启策略决定容器失败时的处理方式,包括 Always、OnFailure 和 Never。

  • Kubernetes 提供 postStart 和 preStop 两个生命周期钩子,postStart 不保证在容器 ENTRYPOINT 之前运行。

  • Pod 终止流程包括标记为 Terminating、执行 preStop 钩子、发送 SIGTERM 信号、等待宽限期和发送 SIGKILL 信号。

  • 注意事项:配置合适的探针、设置合理的资源限制和正确处理终止信号。

➡️

继续阅读