在 Debian 上部署 Kubernetes 的关键注意事项
一 系统与内核准备
sudo swapoff -a,并注释 /etc/fstab 中的 swap 行以永久生效。overlay、br_netfilternet.bridge.bridge-nf-call-iptables=1、net.bridge.bridge-nf-call-ip6tables=1、net.ipv4.ip_forward=1apparmor 以免干扰容器运行。生产环境不建议直接关闭防火墙,应改为按需放行端口。二 容器运行时与依赖
containerd.iocontainerd config default | sudo tee /etc/containerd/config.tomlsudo systemctl enable --now containerdapt-transport-https、ca-certificates、curl、gnupg2、software-properties-common、libseccomp2 等,确保仓库与签名校验可用。三 Kubernetes 组件安装与初始化
deb https://apt.kubernetes.io/ kubernetes-xenial main),更新索引后安装 kubelet、kubeadm、kubectl,并用 sudo apt-mark hold kubelet kubeadm kubectl 固定版本。sudo kubeadm init,常见参数包括:
--pod-network-cidr(如 10.244.0.0/16 配合 Flannel,或 192.168.0.0/16 配合 Calico)--apiserver-advertise-address(控制平面对外地址)registry.aliyuncs.com/google_containers)kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>。四 网络与安全配置
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f https://docs.projectcalico.org/manifests/calico.yamlufw disable,而是按需放行 6443(APIServer)、10250(kubelet)、2379–2380(etcd)、10251/10252(kube-scheduler/controller-manager)、以及 8472(Flannel VXLAN) 等端口。五 常见问题与运维建议
kubectl taint nodes --all node-role.kubernetes.io/control-plane- 临时去除控制平面污点用于调试。