kube-proxy 未运行,但在“kubectl get pod”的输出中显示为正常运行

kube-proxy 未运行,但在“kubectl get pod”的输出中显示为正常运行

kube-proxy 作为守护进程运行,因此我看到我的 2 个节点集群中有两个 pod:

kube-proxy-4f246                           1/1     Running   0          14d
kube-proxy-7hzkf                           1/1     Running   2          5m43s

执行 kubectl describe pod kube-proxy-7hzkf -n kube-system 后,我得到了容器的 ID。

kube-proxy:
Container ID:  docker://53f81d08adaa9b29b7ac8d985c40d08500e84e1be96732ae7a91744a735df885

然后我检查这个 kube-proxy 正在运行的节点,kube-proxy 是否作为一个进程运行,另外还有一个与该 kube-proxy 实例相关的 containerd 进程:

ubuntu@k8s-2:~$ ps aux|grep 53f81d08adaa9b29b7ac8d985c40d08500e84e1be
root     31328  0.0  0.2 113964  8276 ?        Sl   12:21   0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 53f81d08adaa9b29b7ac8d985c40d08500e84e1be96732ae7a91744a735df885 -address /run/containerd/containerd.sock

还:

ubuntu@k8s-2:~$ ps aux|grep kube-proxy
root     31355  0.0  1.0 747380 40520 ?        Ssl  12:21   0:00 /usr/local/bin/kube-proxy --config=/var/lib/kube-proxy/config.conf --hostname-override=k8s-2

如果 kube-proxy 进程死亡,则会发生以下情况,Kubernetes 将重新启动失败的 kube-proxy。

kube-system   0s          Normal    Pulled                    pod/kube-proxy-7hzkf                   Container image "k8s.gcr.io/kube-proxy:v1.21.1" already present on machine
kube-system   0s          Normal    Created                   pod/kube-proxy-7hzkf                   Created container kube-proxy
kube-system   0s          Normal    Started                   pod/kube-proxy-7hzkf                   Started container kube-proxy
default       0s          Normal    Starting                  node/k8s-2                             Starting kube-proxy.

但是,如果 containerd-shim-runc-v2 进程终止,kube-proxy 也会关闭,但什么都不会重新启动,并且节点仍然没有 kube-proxy,尽管 Kubernetes 中一切似乎都正常,但没有出现任何事件,并且 kubectl get pod etc. 和 kubectl describe 的输出显示 kube-proxy 正在运行!

这里发生了什么??

ubuntu@k8s-1:~$ kubectl get pod -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
..
..
kube-proxy-4f246                           1/1     Running   0          14d
kube-proxy-7hzkf                           1/1     Running   3          15m
kube-scheduler-k8s-1                       1/1     Running   0          47h
..

ubuntu@k8s-2:~$ ps aux|grep kube-proxy
ubuntu   10879  0.0  0.0  14864  1048 pts/0    S+   12:36   0:00 grep --color=auto kube-proxy
ubuntu@k8s-2:~$

所以最后一个显示没有 kube-proxy 正在运行!

相关内容