在CentOS系统上搭建Kubernetes(K8S)集群可以通过多种方法实现,以下是两种常见的方法:使用kubeadm和使用手动配置。以下是详细的步骤:
使用kubeadm搭建Kubernetes集群
-
环境准备
- 确保服务器满足最低硬件要求:至少2核CPU、2GB内存、20GB硬盘。
- 关闭防火墙:
systemctl stop firewalld
,systemctl disable firewalld
。 - 禁用SELinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config
,永久禁用:setenforce 0
。 - 关闭交换分区:
swapoff -a
,永久禁用:编辑/etc/fstab
文件注释掉swap行。 - 配置主机名和hosts文件:在各节点设置主机名并添加主机到hosts文件中。
-
安装Docker和Kubeadm
- 安装Docker:
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
。 - 安装Kubeadm、Kubelet和Kubectl:
yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6
。
- 安装Docker:
-
初始化Master节点
- 初始化集群:
kubeadm init --apiserver-advertise-address
。--image-repository registry.aliyuncs.com/google_containers --kubernetes-version 1.23.6 --pod-network-cidr 10.244.0.0/16
- 初始化集群:
-
加入Worker节点
- 在Worker节点上运行:
kubeadm join
。: --token --discovery-token-ca-cert-hash --ignore-preflight-errors=all
- 在Worker节点上运行:
-
验证集群状态
- 使用
kubectl get nodes
命令检查集群中所有节点的状态。
- 使用
手动配置Kubernetes集群
-
系统初始化
- 关闭防火墙、SELinux和交换分区,配置主机名和hosts文件。
-
安装依赖软件
- 更新系统包索引,安装必要的软件包:
apt-get update
,apt-get install -y apt-transport-https ca-certificates curl
。 - 添加Kubernetes GPG密钥和软件包源:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo bash -c 'cat <
/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
- 更新系统包索引,安装必要的软件包:
-
配置网络插件
- 安装网络插件(如Flannel):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
。
- 安装网络插件(如Flannel):
-
初始化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节点
- 在Worker节点上运行:
kubeadm join
。: --token --discovery-token-ca-cert-hash --ignore-preflight-errors=all
- 在Worker节点上运行:
-
验证集群状态
- 使用
kubectl get nodes
命令检查集群中所有节点的状态。
- 使用
通过以上步骤,你可以在CentOS系统上成功搭建一个Kubernetes集群。根据具体需求选择使用kubeadm或手动配置方法。