[英]Container garbage collection in Kubernetes
我有一個關於吊艙內容器垃圾收集的問題。 我有一個在吊艙中運行的主容器和便車容器。 如果主容器完成但sidecar仍在運行。 Kubernetes垃圾會收集主要容器嗎? 我們可以保證在雜物車完成之前不會收集主容器嗎? 如果沒有,有沒有辦法做到這一點?
MaxPerPodContainer標志與此有何關系?
從https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy :
PodSpec具有
restartPolicy
字段,其可能值為Always
,OnFailure
和Never
。 默認值為Always
。restartPolicy
適用於Pod中的所有容器。
實際上,對於Pod而言,這意味着:
restartPolicy: Never
:如果一個容器終止,則所有其他容器將繼續運行 restartPolicy: OnFailure
:如果一個容器以錯誤狀態終止,則該容器將重新啟動;否則,容器將重新啟動。 如果干凈終止(完成),則不會重新啟動容器。 在這兩種情況下,其他容器都將繼續運行。 如果所有容器都干凈地終止,則Pod會進入Completed狀態並保持原狀。 restartPolicy: Always
:如果一個容器以錯誤狀態終止,則該容器將重新啟動 但是,您最有可能使用Deployment ,該部署在Pod模板中強制要求restartPolicy: OnFailure
。 這意味着如果容器終止,則將重新啟動容器。 只能運行幾分鍾的容器是不可能的。
根據您要嘗試執行的操作, initContainers
可能是一個解決方案。
也許可以像下面這樣試驗Pod:
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"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.