Closed jnummelin closed 2 weeks ago
Currently it is NOT possible to create multi-AZ (failure domain) controlplanes using K0sControlPlane.
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:
KubeadmControlPlane
InfraCluster
InfraCluster.status.failureDomains
Cluster.status
Cluster.status.failureDomains
InfraMachine
failureDomain
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 populateInfraCluster.status.failureDomains
which CAPI core will "bubble-up" toCluster.status
.K0sControlPlane
ctrl should check ifCluster.status.failureDomains
is presentCluster.status.failureDomains
is present, our controller should figure out the failuredomain to use when creating new machineInfraMachine
objectCluster.status.failureDomains
, then create the machines without anyfailureDomain