如何解决k8s主站进入未就绪状态
我已在master上重新启动kubelet,此后k8s master进入“未就绪”状态。 请在describe中找到以下事件。
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
NetworkUnavailable False Fri,23 Oct 2020 12:51:36 +0530 Fri,23 Oct 2020 12:51:36 +0530 FlannelIsUp Flannel is running on this node
MemoryPressure Unknown Wed,04 Nov 2020 11:30:18 +0530 Wed,04 Nov 2020 11:34:50 +0530 NodeStatusUnknown Kubelet stopped posting node status.
DiskPressure Unknown Wed,04 Nov 2020 11:34:50 +0530 NodeStatusUnknown Kubelet stopped posting node status.
PIDPressure Unknown Wed,04 Nov 2020 11:34:50 +0530 NodeStatusUnknown Kubelet stopped posting node status.
Ready Unknown Wed,04 Nov 2020 11:34:50 +0530 NodeStatusUnknown Kubelet stopped posting node status.
我该如何解决此问题。
解决方法
这里没什么可看的。
- 最好检查一下kubelet日志(如Arghya在他的评论中建议的那样)。您可以ping节点IP以查看其是否启动。如果启动,则可以SSH进入节点并使用以下命令检查kubelet日志:
# journalctl -u kubelet
- kubelet主机上可能的
Out of Memory
错误。可以通过在--kubelet-extra-args
中添加适当的BootstrapArguments
来解决。例如:
--kubelet-extra-args "--kube-reserved memory=0.3Gi,ephemeral-storage=1Gi --system-reserved memory=0.2Gi,ephemeral-storage=1Gi --eviction-hard memory.available<200Mi,nodefs.available<10%"
- here解释了一个问题:
kubelet有时无法修补其节点状态,例如超过250个 资源保留在节点上,kubelet无法观看超过250个流 与kube-apiserver同时使用。所以,我只是调整kube-apiserver --http2-max-streams-per-connection到1000以减轻痛苦。
- 如果该节点无响应(无法通过ssh进入该节点),则可以尝试重新启动该节点以清除
Not Ready
状态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。