无法在 AutoScaling 组中使用 kubernetes.io/cluster 标签

问题描述 投票:0回答:2

我正在尝试创建一个自动缩放组来管理 EKS 工作节点配置。 根据 AWS 文档“节点无法加入集群”部分,为了让实例加入集群,新实例必须包含标签 kubernetes.io/cluster/my-cluster,其中

my-cluster
是名称集群的名称和标签的值必须是
owned
。但是,当自动扩展组尝试配置新实例时,我在活动部分看到以下错误:

启动新的 EC2 实例。状态原因:无法启动 Spot 实例。无效参数值 - “kubernetes.io/cluster/my-cluster”不是有效标签 钥匙。标签键必须匹配模式 ([0-9a-zA-Z\-_+=,.@:]{1,255}),并且 不能是保留名称('.'、'.'、'_index')。启动 EC2 实例失败。

有谁知道为什么会发生这种情况以及我该如何解决这个问题?

amazon-web-services amazon-ec2 tags autoscaling
2个回答
1
投票

我与 AWS Support 合作,发现问题来自一项名为 EC2 实例元数据服务上的实例标签的新功能。

此功能允许开发人员使用元数据服务 API 来查询实例标签,从而提供了通过 AWS CLI 进行 API 调用的替代解决方案。如果您遇到超过 AWS 请求最大数量的问题,这对于减少 API 调用数量很有用。

但是,当需要包含不支持的字符的特殊 IAM 密钥时,这会导致与 Auto Scaling 组发生冲突。

问题的解决方案是在创建启动模板时将“元数据可访问”设置为“不包含在启动模板中”或“禁用”。

创建或修改启动模板时,您可以在以下位置找到此选项:高级详细信息部分 > 可访问元数据


0
投票

对于我的情况,它与模板中禁用的“允许元数据中的标签”一起使用

aws 截图

© www.soinside.com 2019 - 2024. All rights reserved.