【云原生--Kubernetes】Pod重启策略

文章目录

  • 一. 重启策略
  • 二. Always
    • 三. Never
  • 四. OnFailure
    • 4.1 非0状态
    • 4.2 为0状态
  • 五. Pod状态

引言:在k8s集群中,当某个pod资源需要重启时,我们只会对其进行删除,由其pod控制器进行重新构建。k8s集群的自愈也是对资源的一个重新构建, 在k8s中是没有重启一说的。我们 常说的重启,其实就是对pod资源的重新构建,那么k8s集群在对资源进行管理时,其“重启”规则又是什么呢?

一. 重启策略

在k8s集群中有如下三种重启策略:

  1. Always:当容器终止退出后,总是重启容器,默认策略
  2. OnFailure:当容器异常退出(退出状态码非0)时,重启容器
  3. Never:当容器终止退出,从不重启容器。

重启策略适用于pod对象中的所有容器,首次需要重启的容器,将在其需要时立即进行重启,随后再次需要重启的操作将由kubelet延迟一段时间后进行,且反复的重启操作的延迟时长为10s,20s,40s,80s,160s,300s,300s是最大延迟时长

重启策略设置建议
因为重启策略默认的是Always,这也是合理的,因此在一般情况下,重启策略不需要设置,这里仅仅是作为知识点拿出来展示一下,在实际使用中,在大多数情况下都不需要进行重启策略配置

二. Always

apiVersion: v1
kind: Pod
metadata:
  name: foo
spec:
  containers:
  - name: busybox
    image: busybox
    args:
    - /bin/sh
    - -c
    - sleep 30; exit 3

你可能感兴趣的:(K8s,kubernetes,云原生,docker)