在CentOS系統上搭建Kubernetes(K8S)集群可以通過多種方法實現,以下是兩種常見的方法:使用kubeadm和使用手動配置。以下是詳細的步驟:
環境準備
systemctl stop firewalld
,systemctl disable firewalld
。sed -i 's/enforcing/disabled/' /etc/selinux/config
,永久禁用:setenforce 0
。swapoff -a
,永久禁用:編輯/etc/fstab
文件注釋掉swap行。安裝Docker和Kubeadm
yum install -y yum-utils
,yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repos
,yum install -y docker-ce docker-ce-cli containerd.io
。yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6
。初始化Master節點
kubeadm init --apiserver-advertise-address <master-ip> --image-repository registry.aliyuncs.com/google_containers --kubernetes-version 1.23.6 --pod-network-cidr 10.244.0.0/16
。加入Worker節點
kubeadm join <master-ip>:<port> --token <token> --discovery-token-ca-cert-hash <hash> --ignore-preflight-errors=all
。驗證集群狀態
kubectl get nodes
命令檢查集群中所有節點的狀態。系統初始化
安裝依賴軟件
apt-get update
,apt-get install -y apt-transport-https ca-certificates curl
。curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF'
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
配置網絡插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
。初始化Master節點
kubeadm init
,設置kubeconfig
環境變量:mkdir -p $HOME/.kube && cp -i /etc/kubernetes/admin.conf $HOME/.kube/config && chown $(id -u):$(id -g) $HOME/.kube/
。加入Worker節點
kubeadm join <master-ip>:<port> --token <token> --discovery-token-ca-cert-hash <hash> --ignore-preflight-errors=all
。驗證集群狀態
kubectl get nodes
命令檢查集群中所有節點的狀態。通過以上步驟,你可以在CentOS系統上成功搭建一個Kubernetes集群。根據具體需求選擇使用kubeadm或手動配置方法。