Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么使kubernetes节点不健康?_Kubernetes_Google Cloud Platform_Google Kubernetes Engine - Fatal编程技术网

什么使kubernetes节点不健康?

什么使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集群中启用了“自动节点修复”,并很想禁用它,但在我这么做之前,我需要了解更多有关情况的信息 我的问题是: 首先导致节点不健康的常见原因有哪些?我知道这篇文章说,“节点在给定的时间阈值内连续检查时报告

在过去1个月内,我们在GKE集群上经历了4个
自动修复节点
事件(由命令
gcloud container operations list
显示)。节点自动修复的结果是,重新创建节点并附加新的外部IP,而未被第三方服务列入白名单的新外部IP最终导致在该新节点上运行的服务失败

我注意到我们在Kubernetes集群中启用了“自动节点修复”,并很想禁用它,但在我这么做之前,我需要了解更多有关情况的信息

我的问题是:

  • 首先导致节点不健康的常见原因有哪些?我知道这篇文章说,“节点在给定的时间阈值内连续检查时报告NotReady状态”将触发自动修复。但是什么会导致节点变得未就绪
  • 我也知道这篇文章提到了节点状态的完整列表:{OutOfDisk,Ready,MemoryPressure,PIDPressure,DiskPressure,NetworkUnavailable,ConfigOK}。我想知道,如果某个节点的{OutOfDisk,MemoryPressure,PIDPressure,DiskPressure,NetworkUnavailable}中的任何一个变为true,该节点是否会变为NotReady
  • 在集群中禁用“自动节点修复”后会产生什么负面后果我基本上想知道,与自动修复的节点和新连接的未列入白名单的IP相比,我们是否会陷入更糟糕的境地。一旦“自动节点修复”被禁用,那么对于在不健康节点上运行的、本可以自动修复的POD,Kubernetes会在其他节点上创建新的POD吗

  • 混淆之处在于,在运行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节点状态。你考虑过这样的事情: