Skip to content

node-role.kubernetes.io/ in labels leads to errors for k8s>=1.16 #2197

Closed
@scottyhq

Description

@scottyhq

What happened?
Under eksctl nodeGroups config a label with node-role.kubernetes.io as described here #582 leads to new nodegroup creation hanging on [ℹ] waiting for at least 1 node(s) to become ready in

    labels:
      node-role.kubernetes.io/user: user

What you expected to happen?
An error message saying node-role.kubernetes.io/ is not a permitted label for kubernetes versions>=1.16 as described here kubernetes/kubernetes#85073

How to reproduce it?
See config above

Anything else we need to know?
The use case for this was to easily see node roles in the output of kubectl get nodes A workaround is just to use a generic label:

    labels:
      role: user

The use a flag kubectl get nodes -L role

I suspect there may be other open issues that this will fix (#2124). This was really annoying to debug since there weren't really any informative error messages or warnings, just nodes visable in ec2 console but not via kubectl. Adding some logic to check for disallowed labels would be nice.

Versions
Please paste in the output of these commands:

$ eksctl version 1.19
$ kubectl version 1.16

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions