在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或手动配置方法。