Last updated: 2026-01-28
Install a single-node Kubernetes cluster using kubeadm with a non-overlapping Pod CIDR (avoid LAN conflicts).
net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-ip6tables = 1net.ipv4.ip_forward = 1sudo apt-get update
sudo apt-get install -y kubelet=<VERSION> kubeadm=<VERSION> kubectl=<VERSION>
sudo apt-mark hold kubelet kubeadm kubectl
Do not use 192.168.0.0/16 because the LAN is 192.168.1.0/24.
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.31.3/manifests/calico.yaml
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.14.2/deploy/static/provider/baremetal/deploy.yaml
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.30/deploy/local-path-storage.yaml
kubectl get nodes -o wide
kubectl get pods -A
kubectl run -it --rm dns-test --image=busybox:1.36 --restart=Never -- nslookup kubernetes.default
Likely cause: CNI not initialized. Check Calico init containers and apiserver stability.
This can occur when apiserver is unstable or service routing isnt programmed (kube-proxy not running). Stabilize control plane first, then re-apply Calico.
sudo kubeadm reset -f
sudo find /etc/cni/net.d -mindepth 1 -delete
sudo find /var/lib/cni -mindepth 1 -delete
sudo find /var/lib/kubelet -mindepth 1 -delete
sudo find /etc/kubernetes -mindepth 1 -delete