Debian上K8s安装常见问题与排查清单
一 环境预检与系统要求
uname -r检查。若资源不足或内核过旧,后续组件(如 kubelet)可能无法正常调度或启动。apt-transport-https、curl、software-properties-common),设置主机名与**/etc/hosts**解析,保证节点间可互通。二 容器运行时与内核网络
systemctl enable --now containerd(或 Docker)。modprobe overlay && modprobe br_netfilter/etc/modules-load.d/containerd.conf 写入 overlay\nbr_netfilter/etc/sysctl.d/99-kubernetes-k8s.conf 写入
net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1sysctl --systemupdate-alternatives --config iptables选择iptables-legacy以提升兼容性。三 初始化与网络插件
swapoff -a/etc/fstab 中的 swap 行(如 sed -i '/ swap / s/^/#/g' /etc/fstab)--apiserver-advertise-address=<控制平面IP>、--pod-network-cidr=<与所选网络插件匹配>(如 Flannel 常用 10.244.0.0/16)--image-repository=registry.aliyuncs.com/google_containerskubeadm join ... 命令,用于工作节点加入mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/configkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/master/manifests/calico.yamlkubectl get nodes 应显示 Ready。四 端口与防火墙
ufw allow 6443,2379:2380,10250,10251,10252,10255/tcp && ufw reload。如使用 firewalld/云安全组,需按等价的入站/出站规则放行。五 镜像拉取与组件版本
registry.aliyuncs.com/google_containers),或在节点上手动 docker pull / crictl pull 并重新打标签。apt-get install -y kubelet=1.26.0-00 kubeadm=1.26.0-00 kubectl=1.26.0-00apt-mark hold kubelet kubeadm kubectl 固定版本,避免被系统升级干扰journalctl -xejournalctl -u kubelet、journalctl -u kubeadmkubectl get nodes、kubectl get pods -A、kubectl describe pod <name> -n <ns>