Replies: 6 comments 16 replies
-
Hi there! CAPV doesn't currently support provisioning Bottlerocket nodes (but hopefully will in the future!). There are a few issues (one of which you ran into):
We would love to get Bottlerocket working with CAPV in the future, but haven't started on any of the work necessary to do so yet. |
Beta Was this translation helpful? Give feedback.
-
I looked through the CAPV code. The snapshot case does not allow disk resizing. I believe they errored out 2+ disks because there was only one parameter in the VsphereMachineTemplate with a disk size in it, and they didn't know how to apply that to resize 2 disks - so they errored out (as most of the images supporting CAPV only had one virtual disk).
In the snapshot case - they just use the disk sizing that is already present in the template.
I'll check out 1644
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Zac ***@***.***>
Sent: Thursday, July 22, 2021 4:57:31 PM
To: bottlerocket-os/bottlerocket ***@***.***>
Cc: Barry Silverman ***@***.***>; Author ***@***.***>
Subject: Re: [bottlerocket-os/bottlerocket] VMware: Can you use ClusterAPI to create a Bottlerocket work node? (#1635)
Wow nice work!
That's pretty interesting a snapshot works. I haven't dug into that CAPV code enough to understand why.
Related to user data - #1644<#1644> adds the ability to set the hostname via user data. It will allow us, in VMWare and with CAPV to make the hostname correlate to the VM name.
Thanks for continuing to dig into this. 🎉
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1635 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAACX3FYQW6YVWRCOIYBNB3TZCA3XANCNFSM47QMI2FA>.
|
Beta Was this translation helpful? Give feedback.
-
I tried out the hostname PR and it worked great! I only have to set the guestinfo manually, and can scale bottlerocket machine deployments up and down with no issues (I still have to manually edit the VSphereMachineTemplate, and the MachineDeployment - but only once/cluster).
Very nice...
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Zac ***@***.***>
Sent: Thursday, July 22, 2021 4:57:31 PM
To: bottlerocket-os/bottlerocket ***@***.***>
Cc: Barry Silverman ***@***.***>; Author ***@***.***>
Subject: Re: [bottlerocket-os/bottlerocket] VMware: Can you use ClusterAPI to create a Bottlerocket work node? (#1635)
Wow nice work!
That's pretty interesting a snapshot works. I haven't dug into that CAPV code enough to understand why.
Related to user data - #1644<#1644> adds the ability to set the hostname via user data. It will allow us, in VMWare and with CAPV to make the hostname correlate to the VM name.
Thanks for continuing to dig into this. 🎉
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1635 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAACX3FYQW6YVWRCOIYBNB3TZCA3XANCNFSM47QMI2FA>.
|
Beta Was this translation helpful? Give feedback.
-
I think its describe here in the discovery token based joining for worker nodes: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-join/
If I read it correctly - the bootstrap token is passed to the control plane use the API ip address, and the hash is used to validate the control plane node to the new worker.
In addition, the existing kubeadm bootstrap secrect based to cloudinit only contains the certificate hash. I was trying to validate if it would be easier to translate the existing secret to the toml format, or to create a new cluster api bootstrap provider to support Bottleroxket's toml format...
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Matthew James Briggs ***@***.***>
Sent: Wednesday, July 28, 2021 1:59:23 PM
To: bottlerocket-os/bottlerocket ***@***.***>
Cc: Barry Silverman ***@***.***>; Mention ***@***.***>
Subject: Re: [bottlerocket-os/bottlerocket] VMware: Can you use ClusterAPI to create a Bottlerocket work node? (#1635)
vanilla kubeadm bootstrap
Can you give an example of the kubeadm command you are referring to, or the point in the documentation where you see these hashes? I will try to answer the question but need to get up to speed on the kubeadm process a bit first. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#1635 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAACX3C6RELON4QFCBAKPD3T2BAPXANCNFSM47QMI2FA>.
|
Beta Was this translation helpful? Give feedback.
-
Yes, but there is also cluster-certificate which is not currently supplied in the bootstrap secret provided by the capv cluster bootstrap provider.
If bottlerocket was able to join the cluster just using the token, and the CA hash, that information could be extracted from the existing secret file... Which could be passed unchanged and converted to toml in the boot process with no change to capv or converted in a very small patch to the capv vspherevm controller.
|
Beta Was this translation helpful? Give feedback.
-
Thanks for the update. I would be interested in seeing the early work. Thank you.
So you are creating a BR specific bootstrap provider.
That's the more difficult but probably the best solution going forward without tying yourself to a lot of behavior that is not under your control.
Would doing some of the initial work in a bootstrap container be easier than an admin container? Couldn't you join the cluster in a bootstrap container and then pass the cluster context as permanent files to the host and workload container managers?
I am just learning the BR architecture and am not totally familiar with the constraints the system is running under at early boot time.
Do you have a way to shell in at early boot time? Even just setting a root password on the console and run a BusyBox would be useful for development purposes.. maybe a special dev only bootstrap container?
|
Beta Was this translation helpful? Give feedback.
-
I tried to use the CAPV cluster api provider to create a bottlerocket worker node, and it failed because the CAPV apparently doesn't like templates with more than 1 disk in them, and bottlerocket has 2 disks.
I created a new vsphereMachineTemplate pointing to the Bottlerocket template in vcenter, and I changed the Machine Deployment to point to the new template.
It got to the point of cloning the VM - but failed with 'invalid disk count: 2'
Beta Was this translation helpful? Give feedback.
All reactions