Ubuntu部署Kubernetes排错速查手册
一 快速自检清单
swapoff -a,并将 /etc/fstab 中的 swap 行注释;Kubernetes 运行时不支持启用 swap。br_netfilter、bridge,并开启桥接流量转发与 IPv4 转发:
modprobe br_netfilter bridgenet.bridge.bridge-nf-call-ip6tables=1、net.bridge.bridge-nf-call-iptables=1、net.ipv4.ip_forward=1kubeadm init 可能失败。ufw disable --now 做验证。registry.aliyuncs.com/google_containers/... → k8s.gcr.io/...)。二 常见报错与修复
swapoff -a 并注释 /etc/fstab 中的 swap 行,重启后验证 free -h。/etc/docker/daemon.json 中加入:{"exec-opts": ["native.cgroupdriver=systemd"]}systemctl daemon-reload && systemctl restart containerd && systemctl restart kubeletkubeadm reset 后重新 kubeadm join。mkdir -p $HOME/.kube && sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config && sudo chown $(id -u):$(id -g) $HOME/.kube/config,或设置 export KUBECONFIG=$HOME/.kube/config。kubectl describe pod <name> 查看事件;检查 镜像可用性、资源配额、安全策略 与 网络插件 是否已部署。docker tag 重命名后再 kubeadm init。apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys FEEA9169307EA071)或改用新版签名方式将密钥保存至 /etc/apt/keyrings/。三 初始化与网络插件部署要点
kubeadm init --kubernetes-version=v1.24.17 --image-repository registry.aliyuncs.com/google_containers--apiserver-advertise-address、--service-cidr、--pod-network-cidr。kubeadm token create --print-join-commandkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml/etc/hosts 临时添加 185.199.108.133 raw.githubusercontent.com 再执行。$HOME/.kube/config,或设置 KUBECONFIG 环境变量。四 日志与诊断命令
journalctl -xeu kubelet(定位节点级问题首选)。crictl ps -a 列出容器crictl logs <container-id> 查看具体日志kubectl get nodes -o widekubectl get pods -A -o widekubectl describe node <node>、kubectl describe pod <pod>kubeadm reset -f,修正根因后重新 kubeadm init 或 kubeadm join。五 一键最小复现环境建议
kubeadm join 加入工作节点;最后用 kubectl get nodes 确认 Ready 状态。