Debian服务器K8s安装全攻略
一 环境准备与前置条件
二 系统基础配置
sudo swapoff -asudo modprobe overlay && sudo modprobe br_netfilteroverlay、br_netfilternet.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1sudo sysctl --systemsudo apt update && sudo apt install -y containerdsudo containerd config default | sudo tee /etc/containerd/config.toml[plugins."io.containerd.grpc.v1.cri".registry.mirrors] 下配置国内镜像源sudo systemctl enable --now containerdsudo apt install -y docker-ce docker-ce-cli containerd.iosudo systemctl enable --now docker三 安装Kubernetes核心组件
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt update && sudo apt install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectl(避免自动升级引发不兼容)四 初始化Master节点与配置kubectl
sudo kubeadm init --pod-network-cidr=10.244.0.0/16sudo kubeadm init(使用 Calico 默认 Pod CIDR,后续以 Calico 清单为准)mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config五 安装网络插件与加入Worker节点
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f https://docs.projectcalico.org/manifests/calico.yamlkubeadm init 输出中的命令,例如:
sudo kubeadm join 192.168.1.10:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>kubectl get nodes(所有节点应为 Ready)kubectl get pods -n kube-system(如 kube-flannel-ds 或 calico-* 均为 Running)六 验证与常见问题处理
kubectl create deployment nginx-app --image=nginx --replicas=2kubectl expose deployment nginx-app --name=nginx-web-svc --type=NodePort --port=80 --target-port=80kubectl get svc nginx-web-svc 获取 NodePort,通过 http://<任意节点IP>:<NodePort> 访问kubeadm token create --print-join-command 重新生成加入命令