kube-system 命名空间中的 pods 是如何管理的?
How are pods in kube-system namespace managed?
我想了解 kubernetes 是如何工作的,所以我尝试为我的 minikube 做这个操作:
~ kubectl delete pod --all -n kube-system
pod "coredns-f9fd979d6-5n4b6" deleted
pod "etcd-minikube" deleted
pod "kube-apiserver-minikube" deleted
pod "kube-controller-manager-minikube" deleted
pod "kube-proxy-879lg" deleted
pod "kube-scheduler-minikube" deleted
没关系。 Pods 如愿删除。但是如果我这样做 kubectl get pods -n kube-system
我会看到:
NAME READY STATUS RESTARTS AGE
coredns-f9fd979d6-5d25r 1/1 Running 0 50s
etcd-minikube 1/1 Running 0 50s
kube-apiserver-minikube 1/1 Running 0 50s
kube-controller-manager-minikube 1/1 Running 0 50s
kube-proxy-nlw69 1/1 Running 0 43s
kube-scheduler-minikube 1/1 Running 0 49s
好的。我以为是 ReplicaSet 或 DaemonSet:
➜ ~ kubectl get ds -n kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
kube-proxy 1 1 1 1 1 kubernetes.io/os=linux 18m
➜ ~ kubectl get rs -n kube-system
NAME DESIRED CURRENT READY AGE
coredns-f9fd979d6 1 1 1 18m
coredns
和 kube-proxy
也是如此。但是其他人(apiserver
、etcd
、controller
和 scheduler
)呢?为什么他们还活着?
控制平面 pods 是 运行 因为 static Pods - 静态 Pods 不受控制平面控制器的管理,例如守护进程集和副本集。 静态 pods 由本地节点上的 Kubelet 守护进程直接管理。
我想了解 kubernetes 是如何工作的,所以我尝试为我的 minikube 做这个操作:
~ kubectl delete pod --all -n kube-system
pod "coredns-f9fd979d6-5n4b6" deleted
pod "etcd-minikube" deleted
pod "kube-apiserver-minikube" deleted
pod "kube-controller-manager-minikube" deleted
pod "kube-proxy-879lg" deleted
pod "kube-scheduler-minikube" deleted
没关系。 Pods 如愿删除。但是如果我这样做 kubectl get pods -n kube-system
我会看到:
NAME READY STATUS RESTARTS AGE
coredns-f9fd979d6-5d25r 1/1 Running 0 50s
etcd-minikube 1/1 Running 0 50s
kube-apiserver-minikube 1/1 Running 0 50s
kube-controller-manager-minikube 1/1 Running 0 50s
kube-proxy-nlw69 1/1 Running 0 43s
kube-scheduler-minikube 1/1 Running 0 49s
好的。我以为是 ReplicaSet 或 DaemonSet:
➜ ~ kubectl get ds -n kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
kube-proxy 1 1 1 1 1 kubernetes.io/os=linux 18m
➜ ~ kubectl get rs -n kube-system
NAME DESIRED CURRENT READY AGE
coredns-f9fd979d6 1 1 1 18m
coredns
和 kube-proxy
也是如此。但是其他人(apiserver
、etcd
、controller
和 scheduler
)呢?为什么他们还活着?
控制平面 pods 是 运行 因为 static Pods - 静态 Pods 不受控制平面控制器的管理,例如守护进程集和副本集。 静态 pods 由本地节点上的 Kubelet 守护进程直接管理。