Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 库伯内特斯头盔什么时候触发吊舱?_Kubernetes_Kubernetes Helm - Fatal编程技术网

Kubernetes 库伯内特斯头盔什么时候触发吊舱?

Kubernetes 库伯内特斯头盔什么时候触发吊舱?,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,建议通过设置变量元数据值重新创建pod 例如: kind: Deployment spec: template: metadata: annotations: checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} [...] 但是当pod未重新创建时,会出现一种情况: pod在状态CrashLoopBack

建议通过设置变量元数据值重新创建pod

例如:

kind: Deployment
spec:
  template:
    metadata:
      annotations:
        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
[...]
但是当pod未重新创建时,会出现一种情况:

  • pod在状态
    CrashLoopBackOff
  • 只有部署元数据已更改
我想知道什么事件会触发pod:

  • 为什么pod处于状态
    CrashLoopBackOff
    未重新启动
  • 为什么规范的所有部分都不考虑重新创建pod
编辑

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

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

部署中的模板是
pod模板
。每次更改PodTemplate时,都会创建一个新的ReplicaSet,并根据使用PodTemplate的副本数量创建新的Pod

kind: Deployment
spec:
  template:
    # any change here will lead to new Pods
每次从模板创建新的Pod时,它都将与以前的Pod相同

CrashLoopBackOff
是Pod级别的问题,例如,它可能是应用程序的问题

但是如果提供了一个新映像(包含错误修复),pod应该重新启动,而不需要显式地杀死它


如果提供了新映像,它应该有自己的唯一名称。这意味着,无论何时更改图像,都必须更改图像名称。图像名称的更改是对PodTemplate的更改,因此它将始终创建新的Pod,并删除但不重用旧的Pod。

感谢您的帮助回复,它回答了模板问题!我已经把我的问题编辑成CrashLoopBackOff部分。这对我来说还不清楚。我在这一部分扩展了我的答案。你是对的:当我提供一个新版本的映像时,CrashLoopBackOff pod会重新启动。