在CentOS系统上部署Kubernetes(K8s)集群的步骤如下:
-
环境准备:
- 确保操作系统满足要求(CentOS 7或更高版本),至少2个CPU核心和2GB内存。
- 关闭防火墙和SELinux:
systemctl stop firewalld systemctl disable firewalld sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0
- 禁用交换分区:
swapoff -a sed -i 's/.*swap.*/#&/' /etc/fstab
- 设置主机名并添加hosts映射:
hostnamectl set-hostname
cat >> /etc/hosts << eof eof - 配置网络参数,确保所有节点之间可以互相通信。
-
安装依赖软件:
- 更新系统并安装Docker:
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io systemctl enable docker && systemctl start docker
- 安装kubeadm、kubelet和kubectl:
yum install -y kubelet kubeadm kubectl systemctl enable kubelet && systemctl start kubelet
查看安装版本以确认安装成功:kubeadm version kubelet version --client kubectl version --client
- 更新系统并安装Docker:
-
配置Kubernetes仓库:
- 添加Kubernetes官方仓库:
cat <
- 添加Kubernetes官方仓库:
-
初始化Master节点:
- 在Master节点上运行:
kubeadm init --apiserver-advertise-address=
--image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.21.9 --pod-network-cidr=10.244.0.0/16 - 初始化完成后,Master节点会生成一个kubeconfig文件,需要将其复制到当前用户的主目录:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/
- 在Master节点上运行:
-
加入Worker节点:
- 在每个Worker节点上运行:
kubeadm join
其中,:6443 --token --discovery-token-ca-cert-hash sha256:
和
可以从Master节点初始化命令的输出中获得。
- 在每个Worker节点上运行:
-
验证集群状态:
- 使用以下命令检查集群中所有节点的状态:
kubectl get nodes
- 确保所有节点状态为“Ready”。
- 使用以下命令检查集群中所有节点的状态:
-
配置网络插件(如Flannel)(可选):
- 在Master节点上安装Flannel网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- 在Master节点上安装Flannel网络插件:
通过以上步骤,您可以在CentOS系统上成功部署一个基本的Kubernetes集群。请根据实际需求调整版本和配置。