什么使kubernetes节点不健康?
在过去1个月内,我们在GKE集群上经历了4个什么使kubernetes节点不健康?,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,在过去1个月内,我们在GKE集群上经历了4个自动修复节点事件(由命令gcloud container operations list显示)。节点自动修复的结果是,重新创建节点并附加新的外部IP,而未被第三方服务列入白名单的新外部IP最终导致在该新节点上运行的服务失败 我注意到我们在Kubernetes集群中启用了“自动节点修复”,并很想禁用它,但在我这么做之前,我需要了解更多有关情况的信息 我的问题是: 首先导致节点不健康的常见原因有哪些?我知道这篇文章说,“节点在给定的时间阈值内连续检查时报告
自动修复节点
事件(由命令gcloud container operations list
显示)。节点自动修复的结果是,重新创建节点并附加新的外部IP,而未被第三方服务列入白名单的新外部IP最终导致在该新节点上运行的服务失败
我注意到我们在Kubernetes集群中启用了“自动节点修复”,并很想禁用它,但在我这么做之前,我需要了解更多有关情况的信息
我的问题是:
混淆之处在于,在运行kube apiserver报告的
kubectl get节点时,会显示“就绪”和“未就绪”状态。但这些都是独立的,从文件中不清楚它们与所描述的库贝莱州的关系
运行kubectl descripe节点时,还可以看到kubelet状态(在事件中)
要回答部分问题,请执行以下操作:
据kube apiserver报告
- 库贝莱下来
- 码头装卸工或集装箱装卸工或crio向下(取决于您使用的垫片)
- 库贝莱州——不清楚
对于这些,kubelet将开始逐出或不调度除Ready()之外的POD。文档中不清楚这些是如何从kubeapi服务器报告的
- 您的集群上可能有节点未被使用,您将为此付费
- 是的,k8s将在某个准备就绪探测器失败(可配置)后重新安排POD。如果kubelet关闭或节点关闭,k8s将认为POD关闭
- 假设您的节点宕机,您的容量可能会低于将工作负载调度到K8所需的容量,但K8无论如何都无法调度它们
希望有帮助 是否有任何官方文件描述该机制“当OutOfDisk、MemoryPressure、PIDPressure、DiskPressure、NetworkUnavailable中的任何一个为真时,节点状态变为NotReady”?我希望能找到这一点。而且,当MemoryPressure条件为真时,kubernetes为什么不干脆退出/删除某些应用程序pod(并在另一个节点上重新启动pod)来回收资源,而不是销毁和重新创建整个节点?逐出一些豆荚听起来比重新创建整个节点破坏性更小。不,找不到任何确切的文档。我在看代码,但要花时间关联状态。我修改了答案。基本上,如果kubelet启动,节点可以准备就绪,但一旦压力状态出现,kubelet就会开始退出。我将尝试一下代码,看看是否能找到确切的相关性。或者你可以在sig-node上问这个问题。看一下代码。改变了答案,仍然不清楚当你运行<代码> Kubtl获取节点< /代码>时,你看到的是什么?翻译成KuBelt节点状态。你考虑过这样的事情: