等待集群初始化超时,节点自动升级失败/或运行时出错

时间:2020-02-10 08:47:16

标签: kubernetes google-cloud-platform google-kubernetes-engine devops google-iam

我的GCP项目中的几个群集中每个群集的节点池中只有3个节点,并且启用了自动升级和修复功能。

自动升级大约在3天前开始,但仍在GKE版本1.12.10-gke.17上运行。

现在,由于我的集群选择了自动升级和自动修复,因此几乎没有问题的集群正在升级,而有问题的集群正在运行更新/升级

在我的第一个集群上,我的豆荚很少出现计划外的故障,GCP建议采取的可能措施是

  • 在已禁用自动缩放的一个或多个节点池中启用自动缩放。
  • 手动增加一个或多个节点池的大小。

我跑步时 “ gcloud容器集群描述了”群集名称“”区域“”

我获得了群集的详细信息。但是,在“节点池”部分下

 status: RUNNING_WITH_ERROR
  statusMessage: 'asia-south1-a: Timed out waiting for cluster initialization; cluster
    API may not be available: k8sclient: 7 - 404 status code returned. Requested resource
    not found.'
  version: 1.12.10-gke.17

注意:

我还看到GCP建议

  • 在具有自动缩放功能的一个或多个节点池中启用自动缩放功能 禁用的。
  • 手动收缩一个或多个节点池。

因为资源请求少。

请让我知道我可以提供其他哪些日志来解决此问题。

Error Description and Activity

更新:

我们浏览了这些日志,并且Google支持人员认为,该kubelet可能无法提交证书签名请求(CSR),或者它可能具有旧的无效证书。为了协助进行故障排除,您可能会回答以下问题:

  1. sudo journalctl -u kubelet> kubelet.log
  2. sudo journalctl -u kube-node-installation> kube-node-installation.log
  3. sudo journalctl -u kube-node-configuration> kube-node-configuration.log
  4. sudo journalctl -u节点问题检测器> node-problem-detector.log
  5. sudo journalctl -u docker> docker.log
  6. sudo journalctl -u cloud-init> cloud-init.log

任何开始运行1.13.12-gke.13的节点都无法连接到主节点。节点发生的任何其他事情(例如,娱乐)是因为它们正在尝试在修复循环中对其进行修复,并且似乎并未引起其他问题。

1 个答案:

答案 0 :(得分:0)

这不是完全解决方案,而是有效的解决方案。 我们能够做到这一点。

在节点池上,我们将标签“ node-restriction”标记为应该是哪种类型的节点。

Google支持人员还建议,当开始升级时,当前无法更新现有节点池的标签,因此他们建议创建一个没有任何这些标签的新节点池。如果能够成功部署节点池,我们必须考虑将工作负载迁移到这个新创建的节点池。

因此我们删除了这两个节点选择器标签,并创建了一个新的节点池。令我们惊讶的是它奏效了。但是,我们必须迁移整个工作负载。

我们遵循了Cloud Migration