centos

CentOS上K8S集群如何搭建

小樊
40
2025-07-27 02:17:37
栏目: 智能运维

在CentOS上搭建Kubernetes(K8S)集群是一个相对复杂的过程,需要仔细规划和执行。以下是一个基本的步骤指南,帮助你搭建一个简单的Kubernetes集群。

环境准备

  1. 准备节点

    • 确保所有节点都已经安装了CentOS,并且已经配置了静态IP地址。
    • 硬件要求:每个节点需要有足够的CPU、内存和存储资源。
    • 网络配置:所有节点需要在同一个子网内,并且可以互相通信。
    • 防火墙设置:确保必要的端口是开放的,例如6443(kubelet)、2379-2380(etcd)、10250(kubelet)、10251(kube-scheduler)、10252(kube-controller-manager)、30000-32767(kubelet)等。
  2. 安装Docker

    • 在所有节点上安装Docker:
      sudo yum update -y
      sudo yum install -y yum-utils device-mapper-persistent-data lvm2
      sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      sudo yum install -y docker-ce docker-ce-cli containerd.io
      sudo systemctl start docker
      sudo systemctl enable docker
      sudo docker run hello-world
      
  3. 安装Kubernetes组件

    • 配置Kubernetes的YUM源并安装相关组件:
      cat <<EOF > /etc/yum.repos.d/kubernetes.repo
      [kubernetes]
      name=Kubernetes
      baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=1
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOF
      sudo yum install -y kubelet kubeadm kubectl
      sudo systemctl enable --now kubelet
      

初始化Master节点

  1. 初始化Kubernetes集群

    • 在Master节点上初始化Kubernetes集群:
      sudo kubeadm init --pod-network-cidr=10.244.0.0/16
      
  2. 配置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
      
  3. 安装网络插件

    • 安装一个网络插件,例如Flannel:
      kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
      

加入Worker节点

在其他Worker节点上运行以下命令,加入集群:

sudo kubeadm join <Master_IP>:<Master_Port> --token <TOKEN> --discovery-token-ca-cert-hash <HASH>

你可以在Master节点初始化时获取<Master_IP><TOKEN><HASH>

验证集群

使用以下命令验证集群状态:

kubectl get nodes

你应该看到所有节点都处于Ready状态。

后续步骤

注意事项

通过以上步骤,你应该能够在CentOS上成功部署一个多节点的Kubernetes集群。

0
看了该问题的人还看了