更新时间:2022-05-12 GMT+08:00
分享

部署K8s集群

配置hosts文件

管理节点和计算节点都需要配置hosts文件。

  1. 修改hosts文件。

    1
    vi /etc/hosts
    

  2. 添加集群所有节点的IP及hostname信息,如图1所示,按Esc,输入:wq保存退出。

    图1 添加集群信息

    实际操作中请按照实际的组网填写相关信息。

  3. 重复12,修改每台节点的“/etc/hosts”文件。

配置管理节点

重复搭建集群时,请先清除旧的K8s集群设置。

1
kubeadm reset
  1. 在管理节点上执行集群初始化命令。

    1
    kubeadm init --pod-network-cidr=10.244.0.0/16
    
    • 计算节点不需要执行集群初始化操作。
    • 如果在管理节点初始化的时候提示:

      /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1

      可以通过执行如下命令将其置为1(vim不可修改此文件)。

      1
      echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
      
    • 执行该操作时,建议排查是否有配置代理(执行env查看),避免kubeadm init初始化超时失败,删除代理的操作:
      1
      2
      3
      export -n http_proxy
      export -n https_proxy
      export -n no_proxy
      
    • --pod-network-cidr 选项用于指定kubernetes网络可以使用的IP地址段,由于后续使用Flannel网络插件,该插件固定使用的IP段为:10.244.0.0/16 。
    • --control-plane-endpoint 选项用于为控制平面指定一个稳定的IP地址或DNS名称。kubeadm 1.15及以后版本支持,若需要可直接在初始化命令后添加该参数。
    • 如果是openeuler系统需要手动创建resolv.conf文件,在集群初始化需要检验这个文件的存在。
      touch /etc/resolv.conf
    图2 管理节点成功初始化信息

    如果打印此信息如图2所示,则管理节点成功被初始化。

    图2中,黄框信息表示管理节点配置集群需要执行的命令,红框信息表示计算节点加入集群的token命令,请保存该段命令。

  2. 配置集群。

    1
    2
    3
    4
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    export KUBECONFIG=/etc/kubernetes/admin.conf
    

  3. 在管理节点查看集群节点信息。

    1
    kubectl get node
    

  4. 保存管理节点生成的加入集群信息。

    该信息在成功初始化管理节点后生成并打印,集群信息如下所示:

    1
    kubeadm join 192.168.1.235:6443 --token a9020j.vnfgqk7n30p5d9z0 --discovery-token-ca-cert-hash sha256: c465651177b41c545fe20f8dc052b9661a8375afdeac7e7ecf52029fc66a506a
    

    该token命令可以用于二十四小时内计算节点加入集群。

    • 集群加入token是随机生成的,在搭建集群时需要使用实际生成的指令。
    • token默认有效期为24小时,若token超时,可在K8s管理节点通过如下命令进行重新生成。
      1
      kubeadm token create --print-join-command
      

配置计算节点

  1. 删除代理。

    如果kubernetes工作节点已经配置了http和https代理,需要执行如下命令删除代理。

    1
    2
    3
    export -n http_proxy
    export -n https_proxy
    export -n no_proxy
    

  2. 计算节点加入集群。

    1. 在计算节点中执行以下命令用以加入集群。
      1
      kubeadm join 192.168.1.235:6443 --token a9020j.vnfgqk7n30p5d9z0 --discovery-token-ca-cert-hash sha256: c465651177b41c545fe20f8dc052b9661a8375afdeac7e7ecf52029fc66a506a
      
    2. 等待一分钟左右,在管理节点查看集群中加入的计算节点。
      1
      kubectl get nodes
      
      如下所示:
      1
      2
      3
      4
      5
      [root@centos-1 etc]# kubectl get node 
      NAME       STATUS     ROLES    AGE   VERSION 
      centos-1   NotReady   master   12h   v1.14.3 
      centos-2   NotReady   <none>  11h   v1.14.3 
      centos-3   NotReady   <none>  11h   v1.14.3
      

  3. 在管理节点和计算节点上查看kubelet服务状态。

    1
    systemctl status kubelet
    

添加Flannel网络插件

在Master节点执行以下操作。

  1. 下载flannel网络插件配置文件。

    1
    wget  https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    

  2. 修改kube-flannel.yml文件。

    1
    vim kube-flannel.yml
    

    将limits下的“cpu: "100m"”“memory: "50Mi"”修改成“cpu: "200m"”“memory: "100Mi"”

  3. 安装flannel插件。

    1
    kubectl apply -f kube-flannel.yml
    

分享:

    相关文档

    相关产品

关闭导读