Kind: Creating multi-node clusters

Created on 14 Jan 2019  路  10Comments  路  Source: kubernetes-sigs/kind

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?

kindocumentation lifecyclactive prioritimportant-soon

Most helpful comment

@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.

All 10 comments

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 :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nilebox picture nilebox  路  40Comments

carlisia picture carlisia  路  31Comments

neolit123 picture neolit123  路  62Comments

BenTheElder picture BenTheElder  路  58Comments

mitar picture mitar  路  49Comments