【问题标题】:K8s cluster in errors, nodes failing to start correctlyK8s集群出错,节点无法正确启动
【发布时间】:2021-04-22 21:48:05
【问题描述】:

构建了一个具有单节点且没有自动缩放功能的 k8s 集群。除网络(自定义 VPC 和子网)外,所有其他选项均为系统默认选项。收到的错误是:所有集群资源都已启动,但是:1 个节点中只有 0 个节点已注册;这可能是由于节点未能正确启动;如果不起作用,请尝试重新创建集群或联系支持人员。

尝试了多种选项,例如选择默认网络、节点超过 1 个的节点等,但似乎没有任何效果。任何帮助将不胜感激

【问题讨论】:

  • 您能否提供更多详细信息?您能否检查节点是否处于Ready 状态kubectl get nodes。请分享HPA YAML,以及kubectl top nodeskubectl describe nodes | grep "Non-terminated Pods:" -A 30 的输出。你用的是什么k8s版本。
  • 抱歉延迟回复。我也为缺少设置在 GKE 中的事实而道歉。问题是 GKE 启动了节点,但相应的集群无法连接到节点。 k8s 版本为 v1.15.9-gke.24 kubectl get nodes: No resources found in default namespace。 kubectl top nodes: 来自服务器的错误 (ServiceUnavailable): 服务器当前无法处理请求 (get nodes.metrics.k8s.io) kubectl describe nodes | grep "Non-terminated Pods:" -A 30: 什么都不返回
  • 集群显示如下状态:所有集群资源都已启动,但是:1个节点中只有0个节点已注册;这可能是由于节点未能正确启动;如果不起作用,请尝试重新创建集群或联系支持人员。
  • 创建此集群的同一帐户是否更改了节点?在此问题之前您是否升级了任何东西?您是否关闭了某些 Google Cloude 默认服务?可以检查您是否在 Google Compute Engine 中运行此集群中的 VM(如果您运行 GKE 集群,所有 VM 都显示在 Google Compute Engine 中)。如果是,您能否检查是否可以找到类似Supplied fingerprint does not match current metadata fingerprint. 的条目

标签: google-kubernetes-engine


【解决方案1】:

只是为了可见性而添加它。通过 UI 或 CLI 时,我遇到了与此错误类似的问题。当我在不同的 GCP 项目中尝试时,该问题并未出现。

问题是分配给集群的服务帐户被禁用。服务帐号是在Node Pools > Security > Service Account 中创建集群时分配的。签入 IAM 下的服务帐户以查看该帐户是否处于活动状态。由于禁用的服务帐户,我未能通过健康检查部分。启用它并重新尝试后,我不再遇到任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    相关资源
    最近更新 更多