Pod在整个生命周期过程中被系统定义为各种状态,具体如下

  *  Pending:API Server已经创建该pod,但pod中有一个或多个容器镜像没有创建,包括正在下载镜像的过程
* Running:Pod中所有容器均已创建,且至少有一个容器处于运行状态,正在启动或正在重启状态
* Succeeded:Pod中所有容器均已成功退出,且不会再重启
* Failed:Pod中所有容器均已退出,但至少有一个容器退出失败状态
* Unknown:由于某种原因无法获取Pod状态,可能由于网络不通导致

Pod的重启策略(RestartPolicy)应用于Pod中的所有容器,并且仅在Pod所处的Node上由kubelet进行判断和重启操作。当某个容器异常退出或健康检测失败时,kubelet将根据RestartPolicy的设置来进行相应的操作。

Pod的重启策略包括Always、OnFailure和Never, 默认值是Always。
* Always:当容器失效时,由kubelet自动重启该容器。
* OnFailure:当容器终止运行且退出码不为0时,由kubelet自动重启该容器。
* Never:无论容器运行状态如何,kubelet都不会重启该容器。