在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]。