kubernetes掌舵何时触发吊舱重新创建?

时间:2020-10-10 07:15:25

标签: kubernetes kubernetes-helm

helm documentation建议通过设置可变元数据值重新创建广告连播

例如:

kind: Deployment
spec:
  template:
    metadata:
      annotations:
        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
[...]

但是,当重新创建广告连播时,会有一个情况

  • 状态为CrashLoopBackOff的吊舱是错误的
  • 仅部署元数据已更改

我想知道哪些事件确实触发了广告连播的重新创建:

  • 为什么状态CrashLoopBackOff的Pod无法重新启动?
  • 为什么不将规范的所有部分都视为重新创建广告连播?

修改

CrashLookBackOff是一个应用程序问题。 但是,如果提供了新的映像(包含错误修正),则应重新启动pod,而无需显式杀死它。

是否有理由不重新启动CrashLookBackOff吊舱?

1 个答案:

答案 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。

相关问题