- Notifications
You must be signed in to change notification settings - Fork 1.4k
📖 ✨ 🧑🤝🧑 add proposal for Node Bootstrapping working group #11407
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
📖 ✨ 🧑🤝🧑 add proposal for Node Bootstrapping working group #11407
Conversation
| Hi @t-lo. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
| "@elmiko" "@eljohnson92" I took the liberty to add you as co-stakeholders to the WG proposal - IIRC you expressed interest in participating. I hope that's OK? |
49bf126 to bf5ce21 Compare 22ad278 to 6353aad Compare 6353aad to f61f4ee Compare | Thank you Johanan, Fabrizio, and Stefan for tuning in! This is immensely helpful. Made a few changes to the proposal; reworked the whole user story part to focus on goals instead of implementations, and rephrased the "problem statement" section a bit to not hint at a solution when describing the issue. Added a new section on stability and compatibility - this really was the proverbial elephant in the room for me since in Flatcar, we put a massive (occasionally painful) focus on never breaking user workloads ever - kudos to Stefan for calling this out. I'll make sure to hold the working group proposals to an equally high standard. I don't think we're quite there yet but we're definitely making progress. Ready for another round of feedback! |
f61f4ee to dbc9ed4 Compare dbc9ed4 to 857dd3d Compare | @sbueringer , @fabriziopandini what do you think? Could you give it another pass? |
johananl left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Added a few comments.
| I will try to come back to this after code freeze next week, I need to focus on stuff to get merged + CI signal and bandwidth is limited 😢 |
| Also showing up, I will need some more time to read myself into all of this but my focus now is first the upcoming CAPI release! |
elmiko left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in general this makes sense to me, i think it would be nice to have a few more details in the proposal. i left a couple suggestions.
also, i'm just starting to read the comments here.
| @t-lo I would recommend bringing this up one last time in the office hours and setting a lazy consensus of 1-2 weeks |
I'll bring it up in today's call, thanks @sbueringer . |
mboersma left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
| As discussed in the office hours, lazy consensus until February 19 If any of the other maintainers / approvers wants to chime in, now would be the time Just to clarify. In the office hours it was mentioned that the PR has 4 lgtms from maintainers. If I count correctly we are currently at 2 (of the affected areas / core CAPI overall). The list of maintainers can be found here: https://github.com/kubernetes-sigs/cluster-api/blob/main/OWNERS_ALIASES#L22-L27 (which is why I asked for additional feedback here: #11407 (comment)) |
| bootstrap providers. | ||
| I would like to read and to follow documentation, guidelines, and specifications | ||
| on the above. | ||
| I would like to offer a choice of node bootstrapping configuration systems to users, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we include an illustrative example? e.g "I would like to enable the bootstrap API consumer to express intent to fine tune nodes by setting vm.dirty_ratio while not having to reimplement the logic to setup kubelet and let the machine become a Node" if that's a good representative?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great idea!
Probably the not a perfect example though, as setting sysctls solely involves the OS layer - i.e. it does not strictly fulfil a provisioning need of the bootstrap provider. IOW we can provision the nodes perfectly fine and alternatively set the sysctl later, e.g via an operator. Also, this opens a whole can of works as we would later need to validate the intent (and let the provisioning fail if it doesn't work) etc.
How about something more fundamentally provisioning related like disks set-up or disk partitioning? E.g. adding a required storage device / file system to a mount point? I'll add something in the doc.
| | ||
| **Problem statement / Example issues** | ||
| | ||
| As there is currently no OS provisioning configuration abstraction, the kubeadm bootstrap provider |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's probably worth mentioning as part of the context that our API also has a knob that enables full customization via custom userdata secret
| - "@johananl" | ||
| - "@tormath1" | ||
| - "@fabriziopandini" | ||
| - "@sbueringer" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
happy to be included as reviewer as well
| I dropped some feedback, no blockers. lgtm. |
| Node Bootstrapping. | ||
| | ||
| Provisioning, in this context, refers to configuring and customising the | ||
| node operating system to prepare it to serve as a ClusterAPI cluster node. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| node operating system to prepare it to serve as a ClusterAPI cluster node. | |
| node's operating system to prepare it to serve as a ClusterAPI cluster node. |
| stakeholders for a Working Group dedicated to the Provisioning aspect of | ||
| Node Bootstrapping. | ||
| | ||
| Provisioning, in this context, refers to configuring and customising the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggesting to change to American English just because later on is used. But the suggestion can be inverted if you prefer the British version.
| Provisioning, in this context, refers to configuring and customising the | |
| Provisioning, in this context, refers to configuring and customizing the |
mauromorales left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd love to be included in the proposal, at Kairos we are quite interested in making our SPOS integrate correctly with CAPI and this would make our lives easier.
Great initiative 👏
| @t-lo if you can address last nits, we can get this merged |
Co-authored-by: Johanan Liebermann <j@liebermann.io> Co-authored-by: Jakob Schrettenbrunner <dev@schrej.net> Co-authored-by: Mauro Morales <contact@mauromorales.com> Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
ba7442a to 56b1fac Compare | Updated the PR:
|
| Lazy consensus is expired, and the WG is now the venue to address further comments or ideas. /lgtm |
| LGTM label has been added. Git tree hash: 364d7ab549cbdc07be0fa00e4b2798f88090545c |
| [APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: elmiko, fabriziopandini The full list of commands accepted by this bot can be found here. The pull request process is described here Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What this PR does / why we need it:
Propose a working group for node bootstrapping and cluster provisioning.
The need for this working group originated from an ongoing discussion around separating cluster provisioning and node bootstrapping, as stated in the WG's User Story.
Which issue(s) this PR fixes
CC
Tags
/area provider/bootstrap-kubeadm
/area bootstrap
/kind documentation
/kind proposal