温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Terraform EKS specify node-role.kubernetes.io label on node group
kubernetes terraform terraform-provider-aws amazon-eks

其他 - Terraform EKS在节点组上指定node-role.kubernetes.io标签

发布于 2020-04-14 11:00:17

在terraform aws_eks_node_group资源中,我无法设置:

labels = {
  "node-role.kubernetes.io/others" = "other"
}

由于AWS抱怨标签密钥不应包含kubernetes.io。

Error: error creating EKS Node Group (my-cluster:others): InvalidParameterException: Label cannot contain reserved labels kubernetes.io/
{
  ClusterName: "my-cluster",
  Message_: "Label cannot contain reserved labels kubernetes.io/",
  NodegroupName: "others"
}

另外,产生的EC2实例没有名称,我也不知道如何根据其节点组为我的实例指定名称。

关于如何实现这一点的任何想法?

查看更多

提问者
rmonjo
被浏览
90
marcincuber 2020-02-04 02:50

根据文档,您不能使用有关标签的特定标签:

kubernetes.io/和k8s.io/前缀是为Kubernetes核心组件保留的。有效标签值必须为63个字符或更少,并且必须为空,或者以带破折号(-),下划线(_),点(。)和字母数字的字母数字字符([a-z0-9A-Z])开头和结尾之间。

关于您的特定标签。自k8 1.15或1.16以来,存在许多问题,其中核心kubernetes的某些更改不允许使用该标签。一个详细的问题

至于由EKS节点组创建的EC2实例的命名。当前,没有办法传递“名称”标签。这个问题是一个重复这个,你也可以找到答案如何命名实例的时间存在。