-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatically add label to Bottlerocket nodes for agent scheduling #11
Comments
Support for static node labels was added in bottlerocket-os/bottlerocket#366 so this should be possible to do with the API or another on-box process. |
It might also be feasible to have a job scheduled onto new nodes to "query" it for the updater inferface and set the appropriate label (#4). This might be a tad unusual though and needs further thought + investigation 🤔 |
The nodegroup can have labels applied to instances automatically to avoid needing to do it manually. example eksctl config
|
I personally use the above method as well for short lived clusters! It's very handy. There's a drawback to doing it this way: when an interface version bump is needed, you'd need to replace your nodes (after updating the template's userdata) or update This issue is focused on the host "advertising" the correct interface version that's appropriate rather than globally setting this value (by way of a nodegroup-wide label). We'd need to propagate this data from the OS and add it to the kubelet's configured labels. The bottlerocket image would have the interface version label value built in and would be correct for any given build. This would eliminate the need to hand edit or otherwise update your nodes' |
I'm not sure there's a great way to add labels to only bottlerocket nodes from the controller's perspective. Bottlerocket doesn't really expose any metadata to the kubernetes API that we could reliably use to determine if a node is a bottlerocket node or something else. For example, on one of my bottlerocket nodes:
the only metadata that is remotely bottlerocket related is a
I think this is an interesting solution and wouldn't require too much work on the bottlerocket side. On building the kubernetes variants, we'd need to set the label in the kublet build. |
It looks like there isn't a lot to work with. I wonder if |
What I'd like:
The update operator should automatically be eligible for scheduling on to Bottlerocket hosts in a Kubernetes cluster.
The suggested deployment uses a label to identify Bottlerocket hosts and schedule on them (ie: the
bottlerocket.aws/platform-version
label. Name may change: #4). Instead of requiring the label to be set by administrators, the label could be set (or determined) automatically for Bottlerocket nodes to eliminate the manual step.The text was updated successfully, but these errors were encountered: