在k8s中,一個pod以一個名為pause的容器開始。
暫停容器幫助其他容器共享網路命名空間。
我知道它,但有一個問題。
什么是生命周期?
暫停容器的生命周期是怎樣的?
我想知道的是,當一個pod得到crashloopbackoff或暫時不作業時,暫停容器是否也會停止呢?
如果不是,暫停容器是否會維護自己的Linux命名空間?
uj5u.com熱心網友回復:
當一個pod得到
crashloopbackoff或暫時不作業時,暫停容器是否也會停止?
不會。CrashloopBackOff與pause容器無關。我在Minikube中用docker驅動重現了這種情況,其yaml如下:
apiVersion: v1
kind: Pod
metadata: Pod
名稱: dummy-pod
規格:
集裝箱:
- name: dummy-pod[/span
影像: ubuntu
restartPolicy: Always
命令kubectl get pods為我回傳:
NAME READY STATUS RESTARTS AGE
dummy-pod 01 CrashLoopBackOff 7 (2m59s ago) 14m
然后我登錄到崩潰的pod所在的節點,運行docker ps:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES >。
7985cf2b01ad k8s.gcr.io/pause:3. 5 "/pause" 14 分鐘 ago Up 14 minutes k8s_POD_dummy-pod_default_0f278cd1-6225-4311-98c9-e154bf9b42a3_0
18eeb073fe71 6e38f40d628d "/storage- provisioner" 16 minutes ago Up 16 minutes minutes k8s_storage-provisioner_storage-provisioner_kube-system_5c3cec65-5a2d-4881-aa34-d98e1098f17f_1
b7dd2640584d 8d147537fb7d "/coredns -conf /etc... " 17 minutes ago Up 17 minutes k8s_coredns_coredns-78fcd69978-h28mp_kube-system_f62eec5a-290c-4a42-b488-e1475d7f6ff2_0
d3acb4e61218 36c4ebbc9d97 "/usr/local/bin/kube... " 17 minutes ago Up 17 minutes k8s_kube-proxy_kube-proxy-bf75s_kube-system_39dc64cc-2eab-497d-bf13-b5e6d1dbc9cd_0
083690fe3672 k8s.gcr.io/pause:3. 5 "/pause" 17 minutes ago Up 17 minutes k8s_POD_coredns-78fcd69978-h28mp_kube-system_f62eec5a-290c-4a42-b488-e1475d7f6ff2_0
df0186291c8c k8s.gcr.io/pause:3. 5 "/pause" 17 minutes ago Up 17 minutes k8s_POD_kube-proxy-bf75s_kube-system_39dc64cc-2eab-497d-bf13-b5e6d1dbc9cd_0
06fdfb5eab54 k8s.gcr.io/pause:3. 5 "/pause" 17 minutes ago Up 17 minutes k8s_POD_storage-provisioner_kube-system_5c3cec65-5a2d-4881-aa34-d98e1098f17f_0<
183f6cc10573 aca5edae9c "kube-scheduler --au... " 17 minutes ago Up 17 minutes k8s_kube-scheduler_kube_minikube_kube-system_6fd078a966e479e33d7689b1955afaa5_0
2d032a2ec51d f30469a2491a "kube-apiserver --ad... " 17 minutes ago Up 17 minutes k8s_kube-apiserver_kube-apiserver-minikube_kube-system_4889789e825c65fc82181cf533a96c40_0
cd157b628bc5 6e002eb89a88 "kube-controller-man... " 17 minutes ago Up 17 minutes k8s_kubecontroller-manager_kubecontroller-manager-minikube_kube-system_f8d2ab48618562b3a50d40a37281e35e_0
a2d5608e5bac 004811815584 "etcd --advertise-cl... " 17 minutes ago Up 17 minutes k8s_etcd_etcd-minikube_kube-system_08a3871e1baa241b73e5af01a6d01393_0
e9493a3f2383 k8s.gcr.io/pause:3. 5 "/pause" 17 分鐘 ago Up 17 minutes k8s_POD_kube-apiserver-minikube_kube-system_4889789e825c65fc82181cf533a96c40_0
1088a8210eed k8s.gcr.io/pause:3. 5 "/pause" 17 minutes ago Up 17 minutes k8s_POD_kube-scheduler-minikube_kube-system_6fd078a966e479e33d7689b1955afaa5_0 >。
f551447a77b6 k8s.gcr.io/pause:3. 5 "/pause" 17 minutes ago Up 17 minutes k8s_POD_etcd-minikube_kub-system_08a3871e1baa241b73e5af01a6d01393_0
c8414ee790d8 k8s.gcr.io/pause:3. 5 "/pause" 17 minutes ago Up 17 minutes k8s_POD_kubecontroller-manager-minikube_kube-system_f8d2ab48618562b3a50d40a37281e35_0
pause容器在pod中是獨立的。暫停容器是一個容器,它持有pod的網路命名空間。它什么也不做。即使pod處于CrashLoopBackOff狀態,它也不會停止。如果暫停容器死了,kubernetes會認為pod死了,并殺死它,重新安排一個新的。這里沒有這樣的情況。
還請看對pause容器的解釋。
uj5u.com熱心網友回復:
暫停容器是一個完全獨立的容器,就像pod中的其他容器一樣(除了你提到的命名空間重疊的地方)。它在pod被kubelet啟動時開始,并在pod消失(被洗掉、被安排到其他地方,等等)時被拆掉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/319488.html
標籤:
