helm documentation建议通过设置可变元数据值重新创建广告连播。
例如:
kind: Deployment
spec:
template:
metadata:
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
[...]
但是,当未重新创建广告连播时,会有一个情况:
CrashLoopBackOff
的吊舱是错误的我想知道哪些事件确实触发了广告连播的重新创建:
CrashLoopBackOff
的Pod无法重新启动?修改
CrashLookBackOff
是一个应用程序问题。
但是,如果提供了新的映像(包含错误修正),则应重新启动pod,而无需显式杀死它。
是否有理由不重新启动CrashLookBackOff
吊舱?
答案 0 :(得分:2)
Deployment
中的 template 是PodTemplate
。每次更改PodTemplate时,都会创建一个新的ReplicaSet,并使用PodTemplate根据副本数创建新的Pod。
kind: Deployment
spec:
template:
# any change here will lead to new Pods
每次从模板创建新的Pod时,它都会与以前的Pod相同。
CrashLoopBackOff
是Pod级问题,例如该应用程序可能有问题。
但是,如果提供了新的映像(包含错误修正),则应重新启动Pod,而无需明确杀死它。
如果提供了新图像,则该图像应具有其自己的唯一名称。这意味着无论何时更改图像,都必须更改图像名称。图像名称的更改是PodTemplate中的更改,因此它将始终创建新的Pod-并删除而不重用旧的Pod。