Terraform EKS указывает метку node-role.kubernetes.io для группы узлов - PullRequest
1 голос
/ 03 февраля 2020

В ресурсе 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 не имеют имени, и я понятия не имею, как указать Имя для моих экземпляров на основе их группы узлов.

Любая идея о том, как этого добиться

1 Ответ

1 голос
/ 03 февраля 2020

Согласно документации вы не можете использовать определенные c метки, относящиеся к меткам:

Префиксы kubernetes.io/ и k8s.io/ зарезервированы для Основные компоненты Kubernetes. Допустимые значения меток должны быть не более 63 символов и должны быть пустыми или начинаться и заканчиваться символом алфавита c ([a-z0-9A-Z]) с тире (-), подчеркиванием (_), точками (.) и буквенно-цифровые символы между.

Относительно вашей указанной c метки. Начиная с k8s 1.15 или 1.16, существует много проблем, когда некоторые изменения в ядре kubernetes не позволяют эту метку. один подробный вопрос

Что касается именования экземпляров EC2, созданных EKS Node Group. В настоящее время нет способа передать тег «Имя». Этот вопрос является дубликатом этого , где вы также можете найти ответ, как назвать ваши экземпляры на данный момент.

...