我的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建议
因为资源请求少。
请让我知道我可以提供其他哪些日志来解决此问题。
更新:
我们浏览了这些日志,并且Google支持人员认为,该kubelet可能无法提交证书签名请求(CSR),或者它可能具有旧的无效证书。为了协助进行故障排除,您可能会回答以下问题:
任何开始运行1.13.12-gke.13的节点都无法连接到主节点。节点发生的任何其他事情(例如,娱乐)是因为它们正在尝试在修复循环中对其进行修复,并且似乎并未引起其他问题。
答案 0 :(得分:0)
这不是完全解决方案,而是有效的解决方案。 我们能够做到这一点。
在节点池上,我们将标签“ node-restriction”标记为应该是哪种类型的节点。
Google支持人员还建议,当开始升级时,当前无法更新现有节点池的标签,因此他们建议创建一个没有任何这些标签的新节点池。如果能够成功部署节点池,我们必须考虑将工作负载迁移到这个新创建的节点池。
因此我们删除了这两个节点选择器标签,并创建了一个新的节点池。令我们惊讶的是它奏效了。但是,我们必须迁移整个工作负载。
我们遵循了Cloud Migration