Skip to content
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

Multi-AZ controlplane with K0sControlPlane #795

Open
jnummelin opened this issue Oct 28, 2024 · 0 comments · May be fixed by #803
Open

Multi-AZ controlplane with K0sControlPlane #795

jnummelin opened this issue Oct 28, 2024 · 0 comments · May be fixed by #803
Assignees
Labels
cluster-api Something that relates to k0smotron acting as Cluster API provider
Milestone

Comments

@jnummelin
Copy link
Member

Currently it is NOT possible to create multi-AZ (failure domain) controlplanes using K0sControlPlane.

The challenge is that upstream CAPI docs are bit hazy on this area. They do NOT mention anything about failure domains on control plane contract docs.

Connecting the dots between various objects and how KubeadmControlPlane implementation uses failure domains, I decipher how things should work:

  • InfraCluster provider should populate InfraCluster.status.failureDomains which CAPI core will "bubble-up" to Cluster.status.
  • K0sControlPlane ctrl should check if Cluster.status.failureDomains is present
  • If Cluster.status.failureDomains is present, our controller should figure out the failuredomain to use when creating new machine
    • For a new machine, select the domain with the least amount of machines; This ensures the best spread over domains
    • Set the selected failureDomain to the to-be created InfraMachine object
  • If no Cluster.status.failureDomains, then create the machines without any failureDomain
@jnummelin jnummelin added the cluster-api Something that relates to k0smotron acting as Cluster API provider label Oct 28, 2024
@makhov makhov self-assigned this Nov 5, 2024
@makhov makhov linked a pull request Nov 6, 2024 that will close this issue
@jnummelin jnummelin added this to the 1.3 milestone Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cluster-api Something that relates to k0smotron acting as Cluster API provider
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants