Documentation around config to create multi-node clusters is not very clear. I tried this
apiVersion: kind.sigs.k8s.io/v1alpha1
kind: Config
---
kind: Node
apiVersion: kind.sigs.k8s.io/v1alpha1
role: control-plane
replicas: 3
---
kind: Node
apiVersion: kind.sigs.k8s.io/v1alpha1
role: worker
replicas: 2
But that still created a single node cluster. What did I miss in the config?
I think we're not there yet? https://github.com/kubernetes-sigs/kind/issues/117
Ah that's the wrong format, we really need to bring back strict parsing @neolit123 :(
We do have multi node! But the config format is now
kind: Config
nodes:
- ...
(On my phone, will point you to pkg/cluster/config/v1alpha1 for the full format for now)
We definitely need more docs here. Will PR today
/assign
/kind documentation
/priority important-soon
/lifecycle active
I found this example in the src
kind: Config
apiVersion: kind.sigs.k8s.io/v1alpha2
nodes:
- role: control-plane
replicas: 3
- role: worker
replicas: 2
- role: external-etcd
- role: external-load-balancer
Except that running it prints
failed to create cluster: multi node support is still a work in progress, currently external load balancer node is not supported
ah yeah, you'll have to drop those and use a single control-plane node for now.
I meant to remove those roles from the API, the external etc and external load balancer have not landed yet, we cannot do HA currently. That will be coming, it's been done previously and worked well.
some of the HA code is there but not that part, it's only partially implemented. I think probably I want to get a release out today so we'll drop the unimplemented parts from the API and put them back when we have the rest of the code..
@BenTheElder
Ah that's the wrong format, we really need to bring back strict parsing @neolit123 :(
@luxas is currently having a different approach for that here:
https://github.com/kubernetes/kubernetes/pull/72883
it exposes the strict deserializer in apimachinery, while the decoder is on the component-config side.
once this PR makes it in, we can adapt it in kind, kubeadm, etc.
@luxas is currently having a different approach for that here:
kubernetes/kubernetes#72883
Yes, I hope that this will go in fairly soon. Folks sounded more optimistic about this approach in the SIG API Machinery Slack yesterday, so :)
Most helpful comment
@BenTheElder
@luxas is currently having a different approach for that here:
https://github.com/kubernetes/kubernetes/pull/72883
it exposes the strict deserializer in apimachinery, while the decoder is on the component-config side.
once this PR makes it in, we can adapt it in kind, kubeadm, etc.