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

标签 kubernetes terraform terraform-provider-aws amazon-eks

在地形 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 实例没有名称,我不知道如何根据节点组为我的实例指定名称。

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

最佳答案

根据 documentation你不能使用特定的标签,关于标签:

The kubernetes.io/ and k8s.io/ prefixes are reserved for Kubernetes core components. Valid label values must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.



关于您的特定标签。自 k8s 1.15 或 1.16 以来,存在许多问题,其中核心 kubernetes 的某些更改不允许该标签。 one detailed issue

至于 EKS Node Group 创建的 EC2 实例的命名。目前,没有办法传递“名称”标签。此问题与 this 重复您还可以在其中找到暂时如何命名实例的答案。

关于kubernetes - Terraform EKS 在节点组上指定 node-role.kubernetes.io 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60037073/

相关文章:

python - Kubernetes API 创建部署失败

azure - 用于检查条件的 Terraform 脚本

Terraform Azure - 对资源类型的引用必须后跟至少一个属性访问,指定资源名称

aws-api-gateway - REGIONAL 处于事件状态时无法导入 EDGE 的证书

amazon-web-services - EKS 集群 - API 端点访问 - 公共(public)/私有(private)

kubernetes - 使用堆垛机从 `kubectl top`获取ServiceUnavailable

kubernetes - k8s 中的哪个 API 组

terraform - 如何修复 "count"对象只能在 "module"、 "resource"和 "data" block 中使用,并且仅当 "count"参数时

amazon-web-services - 错误 : "network_interface": conflicts with vpc_security_group_ids

kubernetes - 使用多种自动伸缩机制来自动伸缩 K8s 集群