centos

CentOS系统如何配置Kubernetes环境

小樊
44
2025-06-16 15:56:01
栏目: 智能运维

在CentOS系统上配置Kubernetes环境是一个相对复杂的过程,但以下步骤可以为你提供一个基本的指南。请注意,这些步骤可能会随着Kubernetes版本的更新而发生变化,建议参考最新的官方文档进行操作。

环境准备

  1. 关闭防火墙

    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    
  2. 关闭SELinux

    sudo setenforce 0
    sudo sed -i 's/SELINUXenforcing/SELINUXdisabled/' /etc/selinux/config
    
  3. 配置静态IP

    编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,设置以下内容:

    DEVICE=eth0
    BOOTPROTO=static
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    ONBOOT=yes
    

    保存并退出编辑器,然后重启网络服务以使配置生效:

    sudo systemctl restart network
    
  4. 设置主机名和hosts文件

    sudo hostnamectl set-hostname k8s-master
    echo "192.168.1.100 k8s-master" >> /etc/hosts
    echo "192.168.1.101 k8s-node1" >> /etc/hosts
    echo "192.168.1.102 k8s-node2" >> /etc/hosts
    
  5. 时间同步

    sudo yum install -y ntpdate
    sudo ntpdate ntp.aliyun.com
    

安装Docker

  1. 安装Docker仓库

    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  2. 安装Docker

    sudo yum install -y docker-ce docker-ce-cli containerd.io
    
  3. 启动Docker服务

    sudo systemctl start docker
    sudo systemctl enable docker
    
  4. 配置Docker使用systemd作为cgroup driver

    编辑 /etc/docker/daemon.json 文件:

    sudo tee /etc/docker/daemon.json << EOF
    {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": { "max-size": "100m" },
      "storage-driver": "overlay2",
      "storage-opts": ["overlay2.override_kernel_check=true"]
    }
    EOF
    

    重启Docker服务:

    sudo systemctl restart docker
    

配置Kubernetes环境

  1. 添加Kubernetes源

    cat << EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/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
    
  2. 安装Kubernetes组件

    sudo yum install -y kubelet kubeadm kubectl
    
  3. 启动并启用kubelet服务

    sudo systemctl enable kubelet
    sudo systemctl start kubelet
    

初始化Kubernetes集群

在Master节点上执行以下命令来初始化Kubernetes集群:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

初始化完成后,会输出一些重要的信息,包括一个用于加入节点的命令。

配置kubectl

将Kubectl配置到您的shell中:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

安装网络插件

安装网络插件,如Flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

添加Worker节点

在Worker节点上,执行以下命令来加入集群:

sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:abcdef123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

<Master-IP><Master-Port><Token><Hash> 替换为初始化Master节点时输出的信息。

验证集群状态

在Master节点上,使用以下命令来验证集群状态:

kubectl get nodes

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

以上步骤涵盖了在CentOS上配置Kubernetes集群的基本流程。请根据实际需求和环境调整细节。

0
看了该问题的人还看了