GKE 自动驾驶仪根本没有扩展

Posted

技术标签:

【中文标题】GKE 自动驾驶仪根本没有扩展【英文标题】:GKE autopilot not scaling up at all 【发布时间】:2022-01-22 07:10:12 【问题描述】:

我可以使用 GKE Autopilot 在沙盒项目(使用默认网络、默认服务帐户、默认防火墙规则)上运行任意工作负载。

但是我需要在现有项目中创建一个 GKE Autopilot 集群,该集群没有使用默认设置来处理一些不同的事情,比如网络,当我尝试时,pod 永远不会运行。我的问题在于确定失败的根本原因以及项目设置的哪一部分阻止 GKE Autopilot 工作。

错误消息和日志非常稀少。我看到的只有:

在工作负载 UI 中,对于我的 pod,它显示“Pod 不可调度” 在 Pod UI 中,在事件下,它显示“没有可用于调度 Pod 的节点”和“Pod 触发扩展:[...url-of-an-instance-group...]” 在集群自动扩缩器日志下,有一个“scale.up.error.waiting.for.instances.timeout”隐藏在 resultInfo 日志中(引用实例组 url)

我在网上找不到任何关于为什么在 Autopilot 模式下放大会失败的信息,而 Autopilot 模式应该是一种不干涉的体验。我知道我没有提供有关 pod 规范(任何都会失败!)或我的项目设置的太多细节,但只是在我目前的情况下,下一步该看哪里会有所帮助。

【问题讨论】:

【参考方案1】:

确保未禁用默认的 Compute Engine 服务帐号 (-compute@developer.gserviceaccount.com)。

运行以下命令检查disabled字段是否未设置为true

gcloud iam service-accounts describe <PROJECT_NUMBER>-compute@developer.gserviceaccount.com

或者您可以在控制台中查看它的状态,in the IAM, services accounts sreen

可以在此处找到有关解决此问题的更多详细信息:https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-overview#troubleshooting

【讨论】:

这是正确的。我已经在我的项目中重新启用了默认的计算引擎服务帐户,它现在可以工作了。

以上是关于GKE 自动驾驶仪根本没有扩展的主要内容,如果未能解决你的问题,请参考以下文章

在 terraform 中设置 gke 自动驾驶仪的好例子

飞机驾驶技术——自动驾驶仪

python HammerDB自动驾驶仪日志解析器

特斯拉希望更多的员工参与自动驾驶仪硬件测试

满足自动驾驶远程遥控的线控底盘整车控制器VCU

满足自动驾驶远程遥控的线控底盘整车控制器VCU