在 Debian 上部署 Kubernetes(K8s)出错很常见,关键的是先看错误日志、再对症下药。下面我按「排查思路 → 常见错误 → 快速自救命令」给你一个实用清单。
kubectl get nodes
kubectl get pods -A
systemctl status kubelet
journalctl -u kubelet -xe
kubeadm init 失败)journalctl -xeu kubelet
cat /var/log/syslog | grep kube
swapoff -a
free -h
cat /etc/os-release
uname -a
报错类似:
[ERROR Swap]: running with swap on is not supported
✅ 解决:
swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab
现象:
✅ 解决(测试环境):
ufw disable
# 或放行端口
ufw allow 6443,2379:2380,10250:10252/tcp
报错:
failed to create containerd
runtime "containerd" not configured
✅ 解决:
containerd config default > /etc/containerd/config.toml
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
systemctl restart containerd
可能原因:
✅ 解决:
# 时间同步
apt install -y chrony
systemctl enable --now chrony
# 国内镜像(示例)
kubeadm init \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16
现象:
STATUS: NotReady
✅ 解决(Flannel 示例):
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
如果你已经搞乱了:
kubeadm reset -f
iptables -F
ip link delete cni0
rm -rf /etc/cni /var/lib/etcd
reboot
如果你愿意,直接把下面内容贴给我:
cat /etc/os-release)kubeadm init 或 kubectl 的完整报错我可以按你的具体报错一步步帮你修,不用盲试。