Running Kubernetes doesn’t necessarily mean you have to use the public cloud. There are plenty of reasons a team may want to keep their Kubernetes cluster on premises, like having more control over the environment, knowing exactly how much the deployment will cost, and getting low latency.
Kubernetes Proxmox is the answer to these needs. It is a combination of a powerful virtualization platform with a state-of-the, art container orchestration system. The end product is a private cloud that is flexible enough to fit the requirements of labs, businesses, and production workloads. This tutorial explains Kubernetes Proxmox. You will understand how Kubernetes can run on Proxmox, the differences between this and other configurations, and the benefits of using such a solution.
If you work with servers at home and take care of office workloads, this article will help you figure out your next step.
What Is Kubernetes Proxmox?
Kubernetes Proxmox is the implementation of Kubernetes clusters on VMs under the supervision of Proxmox VE. Proxmox VE is a server platform that facilitates:
- Virtual machines
- Containers Storage
- Networking
- High availability
Kubernetes is a container orchestration system that manages:
- Application deployment
- Scaling Service networking
- Self-healing workloads
By themselves, they represent a layered configuration:
Get exclusive access to all things tech-savvy, and be the first to receive
the latest updates directly in your inbox.
- Proxmox is the hardware manager
- Virtual machines guarantee separation
- Kubernetes is the one running the apps in those machines
The setup is a strategic one that aims at keeping systems tidy and manageable.
Kubernetes vs Proxmox – The Core Difference
| Feature | Kubernetes | Proxmox |
|---|---|---|
| Purpose | Orchestration of containers | Virtual infrastructure management |
| What It Manages | Containers, pods, services | VMs, containers, storage |
| Native Role | Application layer | Infrastructure layer |
| Scaling | Built-in | Manual via VMs |
| Networking | In-cluster CNI plugins | Bridge, VLAN on host |
So, we shouldn’t think about Proxmox vs Kubernetes. Kubernetes does not replace Proxmox. Proxmox does not replace Kubernetes. They are layers in a modern stack.
Why Run Kubernetes on Proxmox?
A lot of people use Kubernetes with Proxmox mainly because it makes sense from a usage point of view.
Main Advantages
- Absolute control over your infrastructure
- No vendor lock in
- Cheaper in the long run
- Isolation of the different workloads is very clean
- Backups and snapshots are straightforward
- Does not require internet for proper functioning
This arrangement is favored by:
- DevOps teams
- People experimenting in their home labs
- Small businesses
- Edge deployments
- Private cloud environments
How Kubernetes Runs on Proxmox?
Proxmox is not the environment where Kubernetes runs. It is in the VMs that Proxmox creates that Kubernetes is run.
Usual scheme:
- One or three control plane VMs
- A number of worker node VMs
- Shared or local storage
- Bridged networking
Each VM runs Linux, usually:
- Ubuntu Server
- Debian
- Rocky Linux
- AlmaLinux
Kubernetes is then installed using tools like:
- kubeadm
- k3s
- RKE2
- Talos Linux
Kubernetes on Proxmox Architecture
| Layer | Role |
|---|---|
| Hardware | Physical servers |
| Proxmox | VM and storage management |
| Linux VMs | Node operating systems |
| Kubernetes | Container orchestration |
| Containers | Applications and services |
This separation improves stability and troubleshooting.
Install Kubernetes On Proxmox – Step By Step
Here’s a practical guide. We use Ubuntu VMs inside Proxmox.
1. Prepare Proxmox VMs
Create 3 VMs in Proxmox:
- 1 Control Plane
- 2 Worker Nodes
Assign:
- 2 CPU minimum
- 4GB RAM minimum each
- 20GB Storage (higher for apps)
2. Setup Kubernetes Dependencies
On each VM, run:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl
curl -fsSL 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
sudo apt-mark hold kubelet kubeadm kubectl
3. Initialize Kubernetes Control Plane
On the master VM:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
Follow the printed join command to add workers.
4. Install Network Plugin (Calico)
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
This gives internal pod networking.
Best Practices For Production-Ready Kubernetes On Proxmox
High Availability (HA)
- Run at least 3 control plane VMs
- Use an external load balancer (HAProxy / MetalLB)
- Distribute nodes across hardware
Storage
Use Proxmox integrated Ceph for scalable storage:
Ceph monitors
Ceph OSDs
CSI drivers for Kubernetes
This lets Kubernetes persistent volumes stay reliable.
Networking
Use dedicated bridges for Kubernetes traffic. Avoid NAT for nodes.
Example:
vmbr1 – Kubernetes internal
vmbr0 – External management
Auto Provisioning With Terraform
You can automate Proxmox VMs using Terraform:
resource "proxmox_vm_qemu" "k8s-node" {
count = 3
name = "k8s-node-${count.index}"
cores = 2
memory = 4096
...
}
This saves time and keeps environments consistent.
Storage Options for Kubernetes on Proxmox
You cannot afford to overlook storage planning.
Common choices:
- Local ZFS
- Ceph storage
- NFS
- iSCSI
- CSI drivers with shared storage
ZFS is typically utilized for:
- Snapshots
- Rollbacks
- Data protection
Ceph is great for:
- High availability
- Large clusters
- Distributed storage
Networking Considerations
Networking should be straightforward and dependable.
Normal setup:
- Linux bridge in Proxmox
- Flat network for cluster traffic
- CNI plugin in Kubernetes
Some CNI options:
- Calico
- Flannel
- Cilium
You should stay away from complicated VLAN setups at the very beginning.
Kubernetes Proxmox vs Cloud Kubernetes
| Aspect | Kubernetes Proxmox | Cloud Kubernetes |
|---|---|---|
| Cost | One time hardware | Ongoing fees |
| Control | Full | Limited |
| Latency | Very low | Higher |
| Setup | Manual | Managed |
| Learning | High value | Abstracted |
Kubernetes Proxmox is ideal when control and cost matter more than convenience.
Role of CyberPanel in Kubernetes Proxmox

CyberPanel is an excellent addition to a Kubernetes Proxmox environment used for hosting purposes. It is a web hosting control panel that supports the management of:
- Websites
- DNS
- Databases
- Security
In a Kubernetes Proxmox environment:
- Proxmox manages the hardware layer
- Kubernetes handles the application layer
- CyberPanel helps in carrying out web hosting activities easily
This trio lessens the manual work and raises the uptime of the hosted services.
Common Challenges and Ways of Avoiding Them
Frequent Mistakes
- VM resources set too low
- Unplanned storage
- Complex networking
- No backups
- Not monitoring
Best Practices
- Start with a small setup and then scale
- Take snapshots before doing any changes
- Keep an eye on node health
- Make your clusters simple
- Write down everything
Is Kubernetes Proxmox Right for You?
Choose Proxmox Kubernetes if:
You want full control
- You value predictable costs
- You enjoy learning about infrastructure
- You run private workloads
Avoid it if:
- You want zero maintenance
- You rely on managed cloud services
Final Thoughts
Kubernetes Proxmox is an excellent option to run modern workloads on your own servers. It combines the best of flexibility, performance, and ownership into one package. It scales with the right setup from a home lab to real production use.
If your goal is a private cloud that you fully control, Kubernetes Proxmox is a good choice. Couple it with the right tools and a well-thought-out plan, and it can be your reliable companion for years.
People Also Ask
Do Proxmox containers (LXC) run Kubernetes nodes?
Not recommended. Kubernetes needs full node isolation, best served by VMs.
Is nested virtualization required?
No. Avoid nested virtualization for performance and stability.
Can I use MetalLB for load balancing?
Yes. Use MetalLB for bare-metal Kubernetes LB functionality.
