Kubernetes 在 Debian 上的故障排查技巧
一 快速自检与环境准备
二 高频故障与修复
三 关键日志与定位命令
四 一键纠偏脚本示例
用途:快速完成 Debian 上的基础纠偏(关闭 Swap、安装 containerd、安装并锁定 kubelet/kubeadm/kubectl、放行 UFW 端口、初始化控制平面、部署 Flannel、输出 join 命令)。
注意:按需修改 API_IP 与 pod-network-cidr,在受限网络下可替换镜像仓库;执行前确保具备 sudo 权限与网络连通。
脚本:
#!/usr/bin/env bash
set -e
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
sudo swapoff -a
sudo sed -i ‘/ swap / s/^(.*)$/#\1/g’ /etc/fstab
sudo apt install -y containerd
sudo systemctl enable --now containerd
curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-keyring.gpg
echo “deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main” | sudo tee /etc/apt/sources.list.d/kubernetes.list > /dev/null
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
sudo ufw allow 6443,2379,2380,10250,10251,10252,10255/tcp || true
sudo ufw reload || true
API_IP=$(ip -4 addr show scope global | grep -oP ‘(?<=inet\s)\d+(.\d+){3}’ | head -n1)
sudo kubeadm init \
–apiserver-advertise-address=$API_IP \
–pod-network-cidr=10.244.0.0/16 \
–image-repository=registry.aliyuncs.com/google_containers
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/coreos/flannel/master/Documentation/kube-flannel.yml
echo “Init done. Run on worker nodes:”
echo " sudo kubeadm join $API_IP:6443 --token
说明:请将
五 仍未解决时请准备的信息