Single Node Cluster
Running a development cluster on a single node without any high availability is also possible.
Configuration
When setting up a single-node cluster:
- Set
automatically_upgrade_os
tofalse
, especially with attached volumes the automatic reboots won't work properly. - Use only one control plane node and one agent node:
control_plane_nodepools = [
{
name = "control-plane",
server_type = "cx22",
location = "nbg1",
count = 1
}
]
agent_nodepools = [
{
name = "agent",
server_type = "cx22",
location = "nbg1",
count = 1
}
]
Ingress Controller
In this configuration, we don't deploy an external load-balancer but use the default k3s service load balancer on the host itself and open up port 80 & 443 in the firewall (done automatically).
Limitations
Single-node clusters:
- Do not provide high availability
- Should have automatic OS upgrades disabled
- Are not recommended for production workloads
- May have issues with persistent volumes
Use Cases
Single-node clusters are ideal for:
- Development and testing
- Learning Kubernetes
- Resource-constrained environments
- Edge computing scenarios