k8s在centos上怎么部署

298
2025/2/14 15:31:27
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上部署Kubernetes(k8s)集群可以通过多种方式实现,以下是使用kubeadm工具进行部署的详细步骤。以下步骤基于CentOS 7和CentOS 8,具体操作时请根据你的实际系统版本进行调整。

部署前准备

  1. 配置主机名和关闭防火墙

    • 设置主机名:
      hostnamectl set-hostname k8s-master
      hostnamectl set-hostname node1
      hostnamectl set-hostname node2
      
    • 关闭防火墙:
      systemctl stop firewalld
      systemctl disable firewalld
      
  2. 关闭SELinux

    • 临时关闭SELinux:
      setenforce 0
      
    • 永久关闭SELinux(重启后生效):
      sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
      
  3. 关闭swap分区

    • 临时关闭swap分区:
      swapoff -a
      
    • 永久关闭swap分区(重启后生效):
      sed -i 's/.*swap.*/#&/' /etc/fstab
      
  4. 配置静态IP

    • 编辑网络接口配置文件(例如/etc/sysconfig/network-scripts/ifcfg-ens33),设置静态IP:
      BOOTPROTO=static
      IPADDR=192.168.100.101
      PREFIX=24
      GATEWAY=192.168.100.1
      DNS1=8.8.8.8
      ONBOOT=yes
      
  5. 配置时间同步

    • 安装并配置NTP:
      yum install ntpdate
      ntpdate ntp.aliyun.com
      systemctl enable ntpd
      systemctl start ntpd
      

安装Docker

  1. 配置Docker镜像加速

    • 编辑Docker配置文件:
      vim /etc/docker/daemon.json
      
    • 添加以下内容:
      {
        "registry-mirrors": ["https://registry.aliyuncs.com"]
      }
      
    • 重新加载Docker配置并重启Docker服务:
      systemctl daemon-reload
      systemctl restart docker
      
  2. 验证Docker安装

    • 检查Docker版本:
      docker --version
      

安装kubeadm、kubelet和kubectl

  1. 添加Kubernetes YUM源

    • 创建并配置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=0
      repo_gpgcheck=0
      gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
      EOF
      
  2. 安装kubeadm、kubelet和kubectl

    • 安装相关组件:
      yum install -y kubelet kubeadm kubectl
      systemctl enable kubelet
      systemctl start kubelet
      
  3. 验证安装

    • 检查组件版本:
      kubeadm version
      kubelet version --client
      kubectl version --client
      

初始化Master节点

  1. 初始化Master节点

    • 在Master节点上执行初始化命令:
      kubeadm init --apiserver-advertise-address=192.168.100.101 --image-repository=registry.aliyuncs.com/google_containers --kubernetes-version=1.22.15 --service-cidr=10.96.0.0/16 --pod-network-cidr=10.244.0.0/16
      
    • 初始化完成后,Master节点会输出一个join命令,用于将Node节点加入到集群中。
  2. 配置kubectl

    • 将Master节点的kubeconfig文件复制到本地:
      mkdir -p $HOME/.kube
      cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
      
  3. 加入Node节点

    • 在每个Node节点上执行初始化时输出的join命令。

部署CNI网络插件(例如Calico)

  1. 下载并应用Calico配置

    • 在Master节点上下载Calico配置文件:
      wget https://docs.projectcalico.org/manifests/calico.yaml
      kubectl apply -f calico.yaml
      
  2. 验证部署

    • 检查Calico网络插件的状态:
      kubectl get pods -n kube-system
      

验证集群状态

  1. 检查集群节点状态
    • 在Master节点上检查集群节点状态:
      kubectl get nodes
      

通过以上步骤,你可以在CentOS上成功部署一个Kubernetes集群。请根据你的实际需求和系统版本进行相应的调整。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: centos如何安装应用软件