kube-proxy是k8s很重的一个DamonSet,负责容器集群外部访问到集群内具体pod的转发。

早上云上监控报警,说有2个worker节点上的kube-proxy连接超时。

使用 kubectl查看,发现那2个kube-proxy pod处于一直处于terminting状态,但通过登录实际节点用docker ps 查看,发现这2个容器已经是dead 状态,变僵尸了。

因为是DamonSet pod,理论上只要把这2个pod删掉,k8s会自动在节点上重启同样pod。

使用kubectl -n kube-system delete pod <pod>来删除pod ,发现那2个僵尸pod纹丝不动,状态无变化。

看来只能强来了,使用kubectl delete pod <pod> --grace-period=0 --force命令,不再优雅等待,直接强制删除。

ok,kukbeectl -n kube-system get ds 可以看到kube-proxy的所有容器恢复running状态。

可以看到虽然k8s号称,所有pod挂了都会自动重启,但还不是百分百可靠哦。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐