【问题标题】:Add roles to EKS nodes using Terraform and node groups使用 Terraform 和节点组向 EKS 节点添加角色
【发布时间】:2020-12-03 08:14:23
【问题描述】:

我正在使用 Terraform 创建一个 EKS 集群,使用这个 repo 官方 hashcorp 存储库。它工作正常,但所有节点都有角色 none

kubectl get nodes
NAME                                         STATUS   ROLES    AGE     VERSION
xxxx1.compute.internal                       Ready    **<none>**   3m35s   v1.14.9-eks-658790
xxxx2.compute.internal                       Ready    **<none>**   3m42s   v1.14.9-eks-658790

我尝试在 eks 节点组声明中使用标签,但它不起作用

labels           = {"node-role.kubernetes.io/workers5" = "label1"}

Error: error updating EKS Node Group (clustertest:workers5) config: InvalidParameterException: Label cannot contain reserved labels kubernetes.io/

任何想法我该如何解决它?或者是否有任何解决方法?

谢谢

【问题讨论】:

  • 您想设置节点角色的任何特殊原因?
  • 例如用于 nodeSelector
  • 也适用于 nodeAffinity
  • 你可以使用另一个标签,那么? node-role.kubernetes.io 具有特殊语义,不允许节点(即kubelet)自己设置。 This issue 对该决定背后的原因有一些见解(TL;DR:因为安全)。

标签: kubernetes terraform amazon-eks


【解决方案1】:

正如 BogdanL 和documentation 已经解释的那样:

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

所以你必须change this label.

【讨论】:

    猜你喜欢
    • 2021-03-16
    • 2021-10-12
    • 2020-10-17
    • 1970-01-01
    • 2020-09-19
    • 2021-07-20
    • 2022-07-28
    • 2020-08-19
    • 2015-11-21
    相关资源
    最近更新 更多