pod重启策略有哪些 kubernetes
容器重启策略:
概括: 容器退出时 ,始终重启,或者 不重启, 或者 异常退出时 重启,正常退出不重启。 默认的是 容器退出时,始终重启。
容器退出时,容器是否重新创建新的容器,会以下三个值:
Always:
容器退出时,始终重启容器(即创建新容器),默认策略。
Never:
容器退出时,不重启容器(即不创建新容器)。
OnFailure:
当容器异常退出时(kill -9时容器的退出码非0,貌似是137),重启容器(即创建新容器)。
当容器正常退出(docker stop,退出码为0)不重启容器。
当Pod中的容器退出时,kubelet会按指数回退方式计算重启的延迟(10s、20s、40s、...),其最长延迟为5分钟。 一旦某容器执行了 10分钟并且没有出现问题,kubelet对该容器的重启回退计时器执行重置操作(重置延迟时间)。
注意:
(1)无论容器的重启策略是什么,当我们手动使用 docker 移除容器时,K8S均会自动拉起并不会记录重启次数;
(2)当容器非正常退出 (即异常退出,可以使用kill -9模拟) 时,Always 和 OnFailure 这两种策略会重新拉起POD并会记录重启次数;
(3)当任务正常退出时,只有Always可以重启任务并记录重启次数;
Completed:
容器正常退出。
Error:
容器异常退出。即正常结束。
apiVersion: v1
kind: Pod
metadata:
name: image-restart-policy-05
spec:
nodeName: worker232
# 指定容器的重启策略
# restartPolicy: Always
# restartPolicy: Never
restartPolicy: OnFailure
containers:
- name: db
image: harbor.baimei.com/baimei-imagepullpolicy/demo:v1
imagePullPolicy: Always
# 修改容器的运行命令
# command: ["sleep","10"]
command: ["sleep","60"]
欢迎来撩 : 汇总all