我正在使用 Google Kubernetes Engine,其中集群的节点池连接到由实例模板定义的 Compute Engine 实例。我通过托管实例组控制这些实例模板。
问题:我发现我的实例模板被一种自动创建的后备实例模板所取代。由于后备实例模板属于较低的机器类型,因此导致我们的集群内出现中断,因为某些服务无法调度。
我可以在日志资源管理器中找到与创建新的后备实例模板的时间戳相同的日志(附有屏幕截图)。“logs-explorer.png”显示服务帐户出于某种原因尝试删除一个甚至不存在的实例组。日志通过显示错误来反映这一点。几分钟后,似乎创建了一个实例模板。如果我转到 Compute Engine -> 实例模板,它会显示后备实例模板是在“2023 年 8 月 13 日,凌晨 12:13:03”创建的,并且当前正在使用。这意味着它自动创建了这个实例模板并将其设置为默认模板。
您认为这是实例模板上的权限问题吗?我看到后备实例模板(不应使用)配置了默认服务帐户,并且似乎始终有效。另一个实例模板(应该使用)配置了不同的服务帐户([电子邮件保护]),似乎有些地方出了问题。它在一段时间内有效,但几周后(在集群的维护窗口期间)会创建后备实例模板并自动将其用作默认模板。也许在维护窗口期间重新获取了一些权限,有些东西没有正常工作。如果这是正确的方向,我应该给服务帐户哪些权限?如果您认为这不是服务帐户的权限问题,那么还可能是什么问题?
我还测试了更改服务帐户的权限([电子邮件保护]) 使用 Policy Simulator,但在测试更改时收到错误(“policy-simulator.png”),这意味着 Policy Simulator 无法确定在提议的允许策略下访问尝试的结果是否会发生变化。
谢谢阅读,我非常感谢你的努力。问候
答案1
我在创建 MIG 期间发现以下部分可能与该问题相关: mig 部分
因此,只要有维护窗口,就会使用初始实例模板。我会继续调查。