在Debian上安装Kubernetes的顺序需严格遵循依赖关系,核心步骤如下:
sudo apt update && sudo apt upgrade -y
sudo swapoff -a
sudo sed -i '/ swap / s/1/g' /etc/fstab
Kubernetes依赖Docker作为默认容器引擎,需优先安装并配置。
sudo apt install -y apt-transport-https ca-certificates curl
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker && sudo systemctl enable docker
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.list
sudo apt update
kubelet(节点代理)、kubeadm(集群初始化工具)、kubectl(命令行工具)。sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl # 锁定版本,避免自动升级
在主节点执行初始化命令,生成集群配置和加入令牌。
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 # 指定Pod网络CIDR
关键操作:
kubectl:mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Kubernetes需网络插件实现Pod间通信,常用Flannel/Calico。
以Flannel为例:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
在Worker节点上执行主节点生成的kubeadm join命令,需提供主节点IP、端口、Token等信息。
sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
在主节点通过以下命令确认节点是否正常加入:
kubectl get nodes # 查看节点状态,需显示"Ready"
kubectl cluster-info # 检查集群服务是否正常
以上步骤基于官方文档和社区实践总结,确保安装流程的可靠性和可扩展性[1,2,3,4,5,6,7,8,9,10,11]。