Kubernetes Kubelet已停止发布节点状态

Kubernetes Kubelet已停止发布节点状态,kubernetes,kubelet,Kubernetes,Kubelet,我的两个集群节点在kubectl descripe node中获得Kubelet停止发布节点状态。在该节点的日志中,我看到以下内容: Dec 11 12:01:03 alma-kube1 kubelet[946]: E1211 06:01:03.166998 946 controller.go:115] failed to ensure node lease exists, will retry in 6.4s, error: Get https://192.168.151.52:644

我的两个集群节点在
kubectl descripe node
中获得
Kubelet停止发布节点状态。在该节点的日志中,我看到以下内容:

Dec 11 12:01:03 alma-kube1 kubelet[946]: E1211 06:01:03.166998     946 controller.go:115] failed to ensure node lease exists, will retry in 6.4s, error: Get https://192.168.151.52:6443/apis/coordination.k8s.io/v1beta1/namespaces/kube-node-lease/leases/alma-kube1?timeout=10s: read tcp 192.168.170.7:46824->192.168.151.52:6443: use of closed network connection
Dec 11 12:01:03 alma-kube1 kubelet[946]: W1211 06:01:03.167045     946 reflector.go:289] object-"kube-public"/"myregistrykey": watch of *v1.Secret ended with: very short watch: object-"kube-public"/"myregistrykey": Unexpected watch close - watch lasted less than a second and no items received
Dec 11 12:01:03 alma-kube1 kubelet[946]: W1211 06:01:03.167356     946 reflector.go:289] object-"kube-system"/"kube-router-token-bfzkn": watch of *v1.Secret ended with: very short watch: object-"kube-system"/"kube-router-token-bfzkn": Unexpected watch close - watch lasted less than a second and no items received
Dec 11 12:01:03 alma-kube1 kubelet[946]: W1211 06:01:03.167418     946 reflector.go:289] object-"kube-public"/"default-token-kcnfl": watch of *v1.Secret ended with: very short watch: object-"kube-public"/"default-token-kcnfl": Unexpected watch close - watch lasted less than a second and no items received
Dec 11 12:01:13 alma-kube1 kubelet[946]: E1211 06:01:13.329262     946 kubelet_node_status.go:385] Error updating node status, will retry: failed to patch status "{\"status\":{\"$setElementOrder/conditions\":[{\"type\":\"MemoryPressure\"},{\"type\":\"DiskPressure\"},{\"type\":\"PIDPressure\"},{\"type\":\"Ready\"}],\"conditions\":[{\"lastHeartbeatTime\":\"2019-12-11T06:01:03Z\",\"type\":\"MemoryPressure\"},{\"lastHeartbeatTime\":\"2019-12-11T06:01:03Z\",\"type\":\"DiskPressure\"},{\"lastHeartbeatTime\":\"2019-12-11T06:01:03Z\",\"type\":\"PIDPressure\"},{\"lastHeartbeatTime\":\"2019-12-11T06:01:03Z\",\"type\":\"Ready\"}]}}" for node "alma-kube1": Patch https://192.168.151.52:6443/api/v1/nodes/alma-kube1/status?timeout=10s: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
问题是有时无法修补其节点状态,超过250个资源停留在节点上,kubelet无法同时使用kube apiserver查看超过250个流。将kube apiserver
--http2每个连接的最大流数
调整为1000以减轻痛苦

看看:

编辑:

Kubernetes使用客户端证书、承载令牌、身份验证代理或HTTP基本身份验证通过身份验证插件对API请求进行身份验证。当向API服务器发出HTTP请求时,插件尝试将以下属性与请求关联:

您可以一次启用多个身份验证方法。通常应至少使用两种方法:

  • 服务帐户的服务帐户令牌
  • 用于用户身份验证的至少一种其他方法
启用多个验证器模块时,第一个成功验证请求的模块将短路评估。API服务器不保证顺序验证器在中运行

有关您可以在此处找到的令牌的信息:

您还可以使用服务帐户,该帐户是一个自动启用的验证器,它使用签名来验证请求

通常由API服务器自动创建,并通过ServiceAccount准入控制器与群集中运行的POD关联。承载令牌被装载到已知位置的POD中,并允许集群内进程与API服务器通信

服务帐户承载令牌完全可以在集群之外使用,并且可以用于为希望与Kubernetes API对话的长期作业创建标识。要手动创建服务帐户,只需使用kubectl create servicecomport(NAME)命令。这将在当前命名空间中创建一个服务帐户和一个关联的机密

秘密通常包含跨越一系列重要范围的值,其中许多值可能导致Kubernetes内部(例如服务帐户令牌)和外部系统的升级。即使一个应用程序可以解释它期望与之交互的秘密的威力,同一名称空间中的其他应用程序也可能使这些假设无效

要首先检查令牌,您必须列出秘密,然后描述它们(
$kubectl descripe secret name

要列出机密,请执行以下命令:

$ kubectl get secret
秘密通常包含跨越一系列重要范围的值,其中许多值可能导致Kubernetes内部(例如服务帐户令牌)和外部系统的升级。即使一个应用程序可以解释它期望与之交互的秘密的威力,同一名称空间中的其他应用程序也可能使这些假设无效


您可以在此处找到更多信息:。

它表示节点无法连接api服务器。这可能是主机内存问题。如何检查它?好的,我将测试此解决方案并写回在所有监工节点上进行更改,但没有帮助。我可以检查您的证书/令牌吗?也许把这读一遍,再检查一下你的设置?我如何检查我的秘密和代币?很可能是网络问题,可能是我的cisco 2911路由器上的问题……我已经更新了我的答案——使用了机密和令牌信息。它能解决你的问题吗?请考虑投票和接受答案。