温馨提示×

debian k8s部署失败咋办

小樊
33
2026-10-22 20:14:56
栏目: 智能运维

Debian 上部署 Kubernetes(k8s)失败很常见,通常和系统环境、网络、组件版本、配置有关。我按「排查思路 → 常见原因 → 解决建议」给你一个实用清单,你可以对照看看。


一、先确认基本信息(很重要)

建议你先贴出以下信息,方便精准定位:

  • Debian 版本(cat /etc/os-release)
  • k8s 版本 / 安装方式(kubeadm?二进制?k3s?)
  • 报错信息(完整报错,尤其是 kubeadm init 或 kubectl 的)

二、最常见失败原因 & 解决办法

1️⃣ 系统前置条件没满足(最常见)

检查项:

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

# 内核参数
cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
EOF
sysctl --system

2️⃣ 容器运行时问题(containerd / docker)

Debian 12+ 默认用 containerd

systemctl status containerd

常见坑:

  • containerd 没配置 SystemdCgroup = true
  • 国内网络拉不到镜像

修复(containerd):

containerd config default > /etc/containerd/config.toml
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
systemctl restart containerd

3️⃣ kubeadm init 失败

常见错误:

  • preflight errors
  • port 6443 already in use
  • CIDR conflict

快速排查:

journalctl -xeu kubelet
kubeadm config images list

国内环境建议:

kubeadm init \
  --image-repository registry.aliyuncs.com/google_containers \
  --pod-network-cidr=10.244.0.0/16

4️⃣ 网络插件没装(集群一直 NotReady)

装完 master 后必须装 CNI:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

或 Flannel:

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

5️⃣ Debian 特定问题

  • 防火墙
ufw disable
# 或放行端口
  • SELinux(Debian 一般没开)
  • 时间不同步
apt install -y chrony
chronyc sources

三、如果你只是想“先跑起来”

✅ 推荐方案:

  • 学习/测试:用 k3s(一条命令)
curl -sfL https://get.k3s.io | sh -
  • 生产:用 kubeadm + containerd

四、下一步我可以帮你

你可以直接告诉我:

  1. 报错截图 / 文字
  2. 用的什么方式装
  3. Debian 版本

我可以一步一步帮你把 k8s 在 Debian 上跑起来 ✅

0 踩