Requirements
Setup Prerequisites
- Minimum two nodes [One master and one worker node]. You can have more worker nodes as per your requirement.
- The master node should have a minimum of 2 vCPU and 2GB RAM.
- For the worker nodes, a minimum of 1vCPU and 2 GB RAM is recommended.
- 192.X.X.X/X network range with static IPs for master and worker nodes. We will be using the 10 series as the pod network range that will be used by the Flannel network plugin. Make sure the Node IP range and pod IP range don’t overlap.
- Internet connectivity for pulling containers required (Private registry can also be used)
- Full network connectivity between machines in the cluster – This is private or public
OS |
Type |
IP |
Specs |
Debian 10 |
Master |
|
2GB Ram, 2vcpus |
Debian 10 |
Worker |
|
2GB Ram, 2vcpus |
Debian 10 |
Worker |
|
2GB Ram, 2vcpus |
- Master: A Kubernetes Master is where control API calls for the pods, replications controllers, services, nodes and other components of a Kubernetes cluster are executed.
- Node: A Node is a system that provides the run-time environments for the containers. A set of container pods can span multiple nodes.
Port Requirements
Please refer to the following image and make sure all the ports are allowed for the control plane (master) and the worker nodes. If you set up this on a cloud, make sure you allow the ports in the firewall configuration.

Setup steps
- Install container runtime on all nodes- We will be using Docker.
- Install Kubeadm, Kubelet, and kubectl on all the nodes.
- Initiate Kubeadm control plane configuration on the master node.
- Save the node join command with the token.