Setting up a Kubernetes cluster may seem complex at first, yet you can build one quickly with clear steps. In this tutorial, you’ll learn how to create a complete Kubernetes cluster, from preparing servers to deploying your first workload. We walk through architecture, installation, networking, and deployment so you can follow along confidently on any supported setup. Whether you use your own hardware or a Contabo VPS, you can support test environments or full microservices architectures.
What Is Kubernetes
Kubernetes, also known as K8s, is an open-source platform that manages container orchestration. It monitors your container workloads and ensures they run efficiently across multiple machines. It automates scaling and provides a reliable control system that keeps your applications running smoothly.
Key points:
- Kubernetes scales your applications automatically across multiple servers.
- It keeps your containers running reliably, even when nodes fail.
- It works with popular container runtimes such as Docker or containerd.
- It manages both small test setups and large production environments.
What are Containerized Applications
A containerized application is software packaged with all required libraries and configuration files. This means it behaves the same across different systems. Kubernetes works most effectively in environments where applications run inside these portable, isolated containers.
Important attributes:
- Self-contained application units
- Consistent performance across systems
- Perfect for Kubernetes scaling and deployment
Kubernetes Architecture: Nodes and Clusters
A Kubernetes cluster consists of multiple nodes. Some nodes form the control plane. They handle decisions, scheduling, and cluster management. The remaining machines act as worker nodes. They run your pods and workloads.
- Control Plane: Handles orchestration and cluster logic
- Worker Nodes: Run containers and workloads
How to Set Up a Kubernetes Cluster
Follow this sequence to create your Kubernetes environment.
- Prepare Your Servers
Start by provisioning servers – physical machines or VPS instances. Then:
- Install Ubuntu or Debian
- Assign static hostnames
- Ensure full network connectivity
- Install the Container Runtime
Update packages and install containerd:
sudo apt update
sudo apt install -y containerd - Install Kubernetes Tools
Add Kubernetes packages and install kubelet, kubeadm, and kubectl:
sudo apt install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl - Initialize the Control Plane
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 - Configure kubectl
mkdir -p $HOME/.kube
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config - Join Worker Nodes
Use the kubeadm join command printed during initialization. This step links the worker nodes to the control plane.
Install a Pod Network
Pods must communicate across nodes. Install a CNI plugin like Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml Without a pod network, multi-node communication won’t work, which is essential for microservices.
Deploy Your First Application
To test your cluster, deploy a simple Apache web server using a manifest:
apiVersion: v1
kind: Pod
metadata:
name: apache-pod
spec:
containers:
- name: apache
image: httpd
ports:
- containerPort: 80 Save it as apache-pod.yaml and apply it:
kubectl apply -f apache-pod.yaml Check your deployment with:
kubectl get pods This confirms that your cluster can schedule and run workloads.
Running Kubernetes on a Contabo VPS
Kubernetes runs smoothly on Contabo VPS instances. They offer strong performance, private networking, and full root access. You can provision two or three VPS servers through the Contabo Control Panel, assign private IPs, and follow the same setup steps listed above. This setup provides an affordable and flexible Kubernetes environment for testing or production workloads.
Watch Our YouTube Video on Kubernetes Cluster
If you prefer a visual walk-through on how to setup Kubernetes, we got a YouTube video ready for you.
Conclusion
You now have a complete overview of building a Kubernetes cluster – from understanding its architecture to deploying your first pod. With Kubernetes running on your own hardware or a Contabo VPS, you can orchestrate containers, scale workloads, and manage real-world applications confidently.