Hello Community,
I currently have a Kubernetes setup where the Master Node and Worker Node are running on separate VM instances. However, I want to streamline the setup and consolidate both the Master and Worker nodes on a single VM instance. Is this possible to do in Kubernetes?
If anyone has experience with this or can point me to relevant documentation or steps, I would greatly appreciate it!
Looking forward to your insights and suggestions.
Thanks in advance!
Hi, @harshada2828.
Before addressing your question, could you clarify why you're considering both the master and worker nodes on a single machine? If your goal is to run your application on a single node, you could use only the master node. In some cases, the master node may have taints applied by default which could prevent workloads from being scheduled there. You can either remove these taints or add tolerations to your deployments, pods or daemonsets to accommodate this.
Additionally, if you're planning to run both the master and worker nodes on the same virtual machine, it goes against the core principles of Kubernetes master-worker architecture which typically separates control plane and worker responsibilities for scalability and reliability.
If you're still determined to proceed with this approach, let me know. And I'll try to simulate the scenario then.
Regards,
Mokit
Hi @mokit,
Thank you for your response!
I understand your point about the separation of the master and worker nodes being a core principle of Kubernetes for scalability and reliability. However, for this specific setup, I'm looking to try and consolidate both the master and worker nodes onto a single VM instance for simplicity and testing purposes in a controlled environment.
I’m aware that this may not be ideal for production, but my goal is to experiment with this configuration and see how it behaves. If you could provide guidance on how to remove the taints or apply the necessary tolerations to make this work on a single VM instance, I would really appreciate it.
Looking forward to your suggestions!
Thanks again,
Harshada
I assume you are not actually using GKE but rather using OSS K8s and installing it your self?
If so, there are several distributions which can help you to run everything on a single node:
Also, you could actually just use GKE where we (Google) actually run the control plane nodes for you. The management fee for the first GKE cluster in your project is free, so you'd only need to pay for the worker node(s) you provision.
Is it not possible with Kubeadm? Setting up the master and worker node on same VM Instance?