# Multi-node linux VM cluster running on Windows host

**URL:** <https://discuss.kubernetes.io/t/multi-node-linux-vm-cluster-running-on-windows-host/14254>\
**Category:** General Discussions\
**Created:** [December 27, 2020, 3:13am UTC](https://discuss.kubernetes.io/t/multi-node-linux-vm-cluster-running-on-windows-host/14254 "2020-12-27T03:13:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shoodey](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/shoodey/32/6568_2.png) [@Shoodey](https://discuss.kubernetes.io/u/Shoodey)\
**Post date:** [December 27, 2020, 3:13am UTC](https://discuss.kubernetes.io/t/multi-node-linux-vm-cluster-running-on-windows-host/14254/1 "2020-12-27T03:13:49Z")

</div>

Hey peeps, I’m new to the forum, could you spare a few minutes to help me figure something out? I’m working on my Masters projects and have been introduced to K8s recently, I just love it and can’t wait to start experimenting ❤

1. I got a windows machine, and the idea is to have 3 ubuntu VMs on top of it (virtualbox) have 1 master and 2 workers. And use that as my own cluster. My windows machine will just be used to kinda monitor everything and work from it, but ideally i want to do everything through SSh. Is that feasible?

2. Does it make sense for me to use KinD or should I be using kubeadm?

3. If the above is sane, is there a way for me to quickly spin up 3 VMs and have all dependencies installed? something like code as infrastructure, since I’m sure i’ll be breaking the VMs often and will often need to resetup them, would Ansible/Terraform/Vagrant be viable options?

4. Finally, once I’m confortable with the local multi-node cluster I got, how easy would it be to move everything to either cloud (aws) or bare metal (i got 2 laptops laying around)? And are there good practices or stuff I need to do from the get to, to make sure i can easily move my cluster (or the setup/config at least)?

5. The main premise of the project, is the expose an API to control kubernetes and deployment of containers from a web app. This should probably be the first question, but is that feasible?

---

<div class="post-metadata">

**Author:** ![mrbobbytables](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/mrbobbytables/32/7_2.png) [@mrbobbytables](https://discuss.kubernetes.io/u/mrbobbytables)\
**Post date:** [December 27, 2020, 3:15pm UTC](https://discuss.kubernetes.io/t/multi-node-linux-vm-cluster-running-on-windows-host/14254/2 "2020-12-27T15:15:46Z")

</div>

> [@Shoodey](#):
>
> The main premise of the project, is the expose an API to control kubernetes and deployment of containers from a web app. This should probably be the first question, but is that feasible?

Yup it is feasable 🙂 You’ll want to look at the various [Kubernetes Client Libraries](https://kubernetes.io/docs/reference/using-api/client-libraries/).

> [@Shoodey](#):
>
> Does it make sense for me to use KinD or should I be using kubeadm?

KinD would let you do what you’re looking to do without having to create the VMs, you can create a multi-node cluster with it. If you’re looking for the fasted/easiest way to get started - KinD is it. If you do want to go the VM route, and want to simulate tear-down etc, than probably a multi-machine vagrant setup would work.

> [@Shoodey](#):
>
> Finally, once I’m confortable with the local multi-node cluster I got, how easy would it be to move everything to either cloud (aws) or bare metal (i got 2 laptops laying around)? And are there good practices or stuff I need to do from the get to, to make sure i can easily move my cluster (or the setup/config at least)?

As long as your yaml manifests are stored some place, and you’re not looking to migrate any persistent data - it should be minimal to no real changes required. That is one of the big benefits of Kubernetes, its portable across environments.

---

<div class="post-metadata">

**Author:** ![Shoodey](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/shoodey/32/6568_2.png) [@Shoodey](https://discuss.kubernetes.io/u/Shoodey)\
**Post date:** [December 29, 2020, 2:06am UTC](https://discuss.kubernetes.io/t/multi-node-linux-vm-cluster-running-on-windows-host/14254/3 "2020-12-29T02:06:13Z")

</div>

Thanks a lot for your input! I have managed to setup a multi-node cluster with Vagrant & successfully installed the K8s dashboard. Slowly but steadily 🙂
