在Debian上安裝Kubernetes集群可以通過多種方式實現,以下是使用kubeadm工具在Debian 12上安裝Kubernetes集群的步驟:
設置主機名和更新hosts文件
在所有節點上使用hostnamectl
命令設置主機名,并在/etc/hosts
文件中添加節點IP和主機名的映射。
關閉所有節點的swap分區
為了讓kubelet順利運行,建議禁用swap。在所有節點上運行以下命令關閉交換分區:
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
為Kubernetes集群添加防火墻規則
如果你的Debian系統已啟用操作系統防火墻,請在所有節點上允許以下端口:
在所有節點上安裝containerd運行時
containerd是Kubernetes支持的行業標準容器運行時。在所有節點上安裝containerd之前,請設置以下內核參數:
sudo tee /etc/modules-load.d/containerd.conf <<EOF
overlay br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
在所有節點上安裝containerd:
sudo apt update
sudo apt install -y containerd
添加Kubernetes apt倉庫
在所有節點上添加Kubernetes的apt倉庫:
sudo apt install gnupg gnupg2 curl software-properties-common
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
使用以下命令安裝Kubernetes集群組件:
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
使用kubeadm初始化Kubernetes集群
在主節點上運行以下命令初始化集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化完成后,kubeadm會顯示一個命令,用于將worker節點添加到集群中。記住這個命令,稍后會用到。
配置kubectl
在主節點上運行以下命令配置kubectl:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在主節點上安裝網絡插件
這里以Flannel為例,安裝Flannel網絡插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
將工作節點添加到集群
在每個工作節點上運行從主節點初始化中獲得的join命令,將它們加入集群。
完成以上步驟后,你就成功地在Debian 12上使用kubeadm安裝了Kubernetes集群。請注意,這些步驟是基于特定版本的Debian和Kubernetes,具體命令可能會因版本不同而有所差異。建議參考官方文檔以獲取最準確的信息。