温馨提示×

Debian K8s部署出错咋办

小樊
37
2026-10-16 22:56:01
栏目: 智能运维

在 Debian 上部署 Kubernetes(K8s)出错很常见,关键的是先看错误日志、再对症下药。下面我按「排查思路 → 常见错误 → 快速自救命令」给你一个实用清单。


一、先做的 3 步通用排查

1️⃣ 看节点和组件状态

kubectl get nodes
kubectl get pods -A
systemctl status kubelet
journalctl -u kubelet -xe

2️⃣ 看初始化日志(如果是 kubeadm init 失败)

journalctl -xeu kubelet
cat /var/log/syslog | grep kube

3️⃣ 确认基础环境

swapoff -a
free -h
cat /etc/os-release
uname -a

二、Debian 上最常见的几类错误

❌ 1. swap 没关(最常见)

报错类似:

[ERROR Swap]: running with swap on is not supported

✅ 解决:

swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab

❌ 2. 防火墙 / 端口不通

现象:

  • 节点 NotReady
  • 控制面组件一直 CrashLoopBackOff

✅ 解决(测试环境):

ufw disable
# 或放行端口
ufw allow 6443,2379:2380,10250:10252/tcp

❌ 3. containerd 配置问题(Debian 12 很常见)

报错:

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

❌ 4. kubeadm init 卡住或失败

可能原因:

  • 镜像拉不到(国内网络)
  • 时间不同步

✅ 解决:

# 时间同步
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

❌ 5. 网络插件没装(节点 NotReady)

现象:

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

四、你可以直接把错误贴出来

如果你愿意,直接把下面内容贴给我:

  • Debian 版本(cat /etc/os-release)
  • K8s 版本
  • kubeadm init 或 kubectl 的完整报错
  • 单节点还是多节点

我可以按你的具体报错一步步帮你修,不用盲试。

0 踩