-
Notifications
You must be signed in to change notification settings - Fork 207
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
Explicit configuration interface #2815
Comments
@maxwolffe is preference to not have the data provided via customdata referring to your current file dependencies? |
I think the preference is to have a
then the node can bootstrap itself via custom logic (and no CSE needed) |
Hey @juan-lee ! Apologies, the message is a little unclear. We don't have a strong preference for how the data is provided, just that it's provided in some way that does not depend on CSE running, is accessible to services on the node, and is testable via some Agentbaker E2E test or unit test. @alexeldeib had suggested that providing the files via customnodedata was not preferred because it's more challenging to update if parameters need to change. Some possibilities include:
Happy to hop on a teams call or google meet to discuss if you'd like more context. |
Thanks for the explanation @maxwolffe. I'll sync up with @alexeldeib. |
Thanks for your help adding the above test and #3104 unit test (was just finally looking into how to do this myself when I saw UtheMan's fix). Appreciate your help to add this protection. |
@maxwolffe I swear there was one more file I couldn't recall. I checked our messages but I only found those four. Do you know if I missed one? also, expect some potential movement on these soon, which was part of the reason for the test ;) |
I think we have one dumb dependency which we'll soon be able to remove - kubelet.service - opened a PR to add it to the interface. |
Moving some private discussion I've had with @alexeldeib into a public ticket to increase bus factor.
Is your feature request related to a problem?/Why is this needed
Our team uses a custom AKS image which has a few dependencies which are currently provided by AgentBaker's customnodedata:
We currently depend on the following files to be provided via nodecustomdata:
/etc/default/kubelet
/var/lib/kubelet/bootstrap-kubeconfig
/etc/kubernetes/certs/ca.crt
Within those files we depend on:
/etc/default/kubelet:
/var/libe/kubelet/bootstrap-kubeconfg:
We explicitly prevent the CustomScriptExtension from running by touching the
/opt/azure/containers/provision.complete
file which CSE checks prior to running. We don't want CSE to run because it does node level configuration which conflicts with our own.Describe the solution you'd like in detail
Ideally, the interface in AgentBaker we come up with:
There are a few options which stand out to me:
a. Has those files included in it
b. Has the fields we need only included
After discussions with @alexeldeib - there's a preference to not have the data provided via customdata.
Describe alternatives you've considered
Additional context
We've had a number of incidents due to us not having a clear contract around node configuration, so hoping to work with y'all to get one defined. Thanks in advance!
The text was updated successfully, but these errors were encountered: