centos

k8s部署于centos的方法

小樊
36
2025-04-10 23:08:33
栏目: 智能运维

在CentOS上部署Kubernetes(k8s)集群有多种方法,以下提供两种常见的部署方式:使用kubeadm工具和使用sealos工具。以下是详细的步骤:

使用kubeadm工具部署k8s集群

  1. 系统准备

    • 关闭防火墙
      systemctl stop firewalld
      systemctl disable firewalld
      
    • 禁用SELinux
      setenforce 0
      sed -i 's/SELINUXenforcing/SELINUXdisabled/g' /etc/selinux/config
      
    • 关闭swap
      swapoff -a
      sed -i '/swap/s///#/g' /etc/fstab
      
    • 配置主机名和IP映射: 编辑 /etc/hosts 文件,添加主机名和IP地址的映射关系。
    • 配置内核参数: 编辑 /etc/sysctl.d/k8s.conf 文件,添加以下内容:
      net.bridge.bridge-nf-call-ip6tables = 1
      net.bridge.bridge-nf-call-iptables = 1
      net.ipv4.ip_forward = 1
      
      执行 sysctl --system 使配置生效。
  2. 安装Docker

    • 删除旧版本的Docker:
      yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
      
    • 安装Docker及相关工具:
      yum install -y yum-utils
      yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      yum makecache fast
      yum install -y docker-ce docker-ce-cli containerd.io
      systemctl start docker
      systemctl enable docker
      
  3. 配置Docker镜像加速: 编辑 /etc/docker/daemon.json 文件,添加以下内容:

    {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "registry-mirrors": ["https://mirrors.aliyuncs.com"]
    }
    

    重新加载Docker配置并重启Docker服务:

    systemctl daemon-reload
    systemctl restart docker
    
  4. 安装kubeadm、kubelet和kubectl

    • 配置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://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
      EOF
      
    • 安装指定版本的kubeadm、kubelet和kubectl:
      yum install -y kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0
      systemctl enable kubelet
      systemctl start kubelet
      
  5. 初始化Master节点

    • 初始化命令:
      kubeadm init --apiserver-advertise-address <master-ip> --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr 10.244.0.0/16
      
    • 配置kubectl:
      mkdir -p $HOME/.kube
      cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      chown $(id -u):$(id -g) $HOME/.kube/config
      
  6. 加入Node节点

    • 在每个Node节点上执行以下命令(替换为实际的Master IP和Token):
      kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
      
  7. 安装网络插件

    • 例如,使用Calico:
      kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
      

使用sealos工具部署k8s集群

  1. 环境准备

    • 修改主机名:
      hostnamectl set-hostname master1
      
    • 关闭SELinux:
      sed -i 's/SELINUXenforcing/SELINUXdisabled/g' /etc/selinux/config
      
    • 禁用swap:
      swapoff -a
      sed -i '/swap/s///#/g' /etc/fstab
      
  2. 安装sealos

    • 使用YUM包安装sealos:
      sudo yum install -y labring
      
  3. 安装Kubernetes

    • 使用sealos安装Kubernetes:
      sealos run localhost/labring/kubernetes:v1.25.0 localhost/calico:v3.24.1 --single
      
  4. 移除污点

    • 移除控制平面节点的污点:
      kubectl taint node node-role.kubernetes.io/control-plane- --all
      

以上是在CentOS上部署Kubernetes集群的两种常见方法。根据具体需求和环境选择合适的工具进行操作。

0
看了该问题的人还看了