2
我有关于容器内容器垃圾回收的问题。我有一个主容器和边车容器在一个吊舱中运行。如果主货柜完成,但边柜仍在运行。 Kubernetes垃圾收集主要容器?我们能否保证主容器在垃圾收集前不会被垃圾收集?如果没有,是否有办法实现这一目标?Kubernetes中的容器垃圾回收
MaxPerPodContainer标志如何与此相关?
我有关于容器内容器垃圾回收的问题。我有一个主容器和边车容器在一个吊舱中运行。如果主货柜完成,但边柜仍在运行。 Kubernetes垃圾收集主要容器?我们能否保证主容器在垃圾收集前不会被垃圾收集?如果没有,是否有办法实现这一目标?Kubernetes中的容器垃圾回收
MaxPerPodContainer标志如何与此相关?
从https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy:
甲PodSpec具有可能的值
Always
,OnFailure
,和一个Never
restartPolicy
字段。默认值是Always
。restartPolicy
适用于Pod中的所有容器。
实际上,这意味着为吊舱如下:
restartPolicy: Never
:如果一个容器终止,那么所有其它容器将继续运行restartPolicy: OnFailure
:如果一个容器处于错误状态结束,然后该容器重新启动;如果干净地终止(完成),那么容器不重新启动。在这两种情况下,其他容器都继续运行。如果所有容器干净地终止,Pod进入Completed状态并保持这种状态。restartPolicy: Always
:如果一个容器处于错误状态终止那么容器但是,你最有可能使用部署,这在波德模板责成restartPolicy: OnFailure
重启。这意味着如果一个容器终止容器将被重新启动。不可能有只运行几分钟的容器。
取决于你正在尝试做什么initContainers
可能是一个解决方案。
实验也许有点用荚这样的:
kind: Pod
metadata:
name: busybox
spec:
restartPolicy: Always
containers:
- name: date
image: busybox
command: ["sh","-c","while date; do sleep 1; done"]
- name: sleep15
image: busybox
command: ["sh","-c","sleep 15; exit 1"]
这不正是我期待的,因为这更多的是restartpolicy ... – sytianhe