Siemens-Healthineers / K2s

Kubernetes distribution for Windows & Linux workloads
https://siemens-healthineers.github.io/K2s/
MIT License
40 stars 4 forks source link

feat(k2s) Deprecate SetupTypes to promote different variations and scale k2s install #63

Open mahenarayan opened 10 months ago

mahenarayan commented 10 months ago

Is your feature request related to a problem? Please describe.

Currently k2s comprises of multiple setup types (k2s, multivm, buildonly). k2s variant is the default with two node cluster using windows host as worker node. multivm is also a two-node cluster except using windows host, additional VM is used as worker node. buildonly is a setup to build container images with no cluster.

There is a need for extending the cluster with additional nodes, setup types cannot scale in this scenario leading to multiple variations which is harder to maintain in the long run.

k2s install  
k2s install multivm 
k2s install buildonly
k2s install ..............

Describe the solution you'd like

Proposal is to deprecate usage of setup types and use flags to indicate variation while preparing a node.

Setting up two-node cluster variations:

k2s install                        ---> uses host machine as windows worker node
k2s install --hyperv              ---> uses hyper-vm based vm as windows worker node
k2s install --no-cluster        ---> setup build only setup with no cluster
k2s install --standalone       ---> setup single node cluster

Describe alternatives you've considered None.

krotz-dieter commented 10 months ago

From my point of view: k2s install ----> default 2 node cluster where host is reused k2s install --no-cluster ---> setup build only setup with no cluster k2s install --singlenode ---> setup single node cluster (only master as Linux node)

Having multi-vm can be achieved with: k2s install --singlenode + k2s node add WINDOWSNOD ... which creates first only a master node cluster and then the additional windows node is added as worker afterwards. The node command is requested through issue: Issue 39.

Later on also master nodes shall be added, k2s install --singlenode would be equivalent to k2s node add LINUXNODE MASTER.

Also additional nodes are possible through the node command, cluster can be extended to different variants easily.

With this than the current sub-commands in install can be omitted.

mahenarayan commented 10 months ago

From my point of view: k2s install ----> default 2 node cluster where host is reused k2s install --no-cluster ---> setup build only setup with no cluster k2s install --singlenode ---> setup single node cluster (only master as Linux node)

Having multi-vm can be achieved with: k2s install --singlenode + k2s node add WINDOWSNOD ... which creates first only a master node cluster and then the additional windows node is added as worker afterwards. The node command is requested through issue: Issue 39.

Also additional nodes are possible through the node command, cluster can be extended to different variants easily.

With this than the current sub-commands in install can be omitted.

Yes, fine with me, this aligns with node command as well. I propose to go ahead with following options and cleanup old ones.

k2s install                   ---> default 2 node cluster where host is reused
k2s install --no-cluster      ---> setup build only setup with no cluster
k2s install --singlenode       ---> setup single node cluster (only master as Linux node)
k2s node add worker --windows   --> add windows worker node
k2s node add worker --linux      --> add linux worker node