11

这在我们的 K8 集群中是一种奇怪的行为。

当我们尝试部署新版本的应用程序时,我们会得到:

Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "<container-id>" network for pod "application-6647b7cbdb-4tp2v": networkPlugin cni failed to set up pod "application-6647b7cbdb-4tp2v_default" network: Get "https://[10.233.0.1]:443/api/v1/namespaces/default": dial tcp 10.233.0.1:443: connect: connection refused

我使用kubectl get cs并找到controllerscheduler处于Unhealthy状态。

正如这里的描述更新/etc/kubernetes/manifests/kube-scheduler.yaml/etc/kubernetes/manifests/kube-controller-manager.yaml评论--port=0

当我检查systemctl status kubelet它正在工作时。

Active: active (running) since Mon 2020-10-26 13:18:46 +0530; 1 years 0 months ago

我已经重新启动了 kubelet 服务,controller并且scheduler显示它很健康。

systemctl status kubelet显示(重启 kubelet 后不久显示运行状态)

Active: activating (auto-restart) (Result: exit-code) since Thu 2021-11-11 10:50:49 +0530; 3s ago<br>
    Docs: https://github.com/GoogleCloudPlatform/kubernetes<br>  Process: 21234 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET

尝试按照此处所述添加Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --fail-swap-on=false" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf仍然无法正常工作。

还删除--port=0了上述清单中的注释并尝试重新启动,结果仍然相同。

编辑:此问题是由于kubelet证书已过期并按照以下步骤修复。如果有人遇到这个问题,请确保/var/lib/kubelet/pki/kubelet-client-current.pem证书和密钥值在放置时是 base64 编码的/etc/kubernetes/kubelet.conf

许多其他人kubeadm init再次建议。但是这个集群是在kubespray没有手动添加节点的情况下创建的。

我们在 Ubuntu 18.04 上运行了裸机 k8。K8:v1.18.8

我们想知道任何调试和修复建议。

PS:
当我们尝试telnet 10.233.0.1 443从任何节点时,第一次尝试失败,第二次尝试成功。

编辑:在kubelet服务日志中找到这个

Nov 10 17:35:05 node1 kubelet[1951]: W1110 17:35:05.380982    1951 docker_sandbox.go:402] failed to read pod IP from plugin/docker: networkPlugin cni failed on the status hook for pod "app-7b54557dd4-bzjd9_default": unexpected command output nsenter: cannot open /proc/12311/ns/net: No such file or directory
4

1 回答 1

2

发布评论作为社区 wiki 答案以获得更好的可见性


此问题是由于kubelet证书已过期并按照以下步骤修复。如果有人遇到此问题,请确保在放置时对/var/lib/kubelet/pki/kubelet-client-current.pem证书和密钥值进行编码base64/etc/kubernetes/kubelet.conf

于 2021-11-15T17:56:43.187 回答