Skip to main content
Version: v25.03

高可用部署(HA)

本文档介绍Kubernetes高可用HA模式的安装指导,下面以openEuler22.03 ARM64为例进行说明,其他支持的操作系统、架构安装流程与示例流程一致。

配置要求

节点资源要求

表 1 worker节点建议资源配置信息

vCPU内存(GB)
48

输入图片说明 说明:
当未启用并发多线程(SMT)或超线程时,一个vCPU相当于一个物理内核。启用后,使用以下公式换算:vCPU=(每个内核的线程数×内核数)×插槽数。

表 2 master节点建议资源配置信息

vCPU内存(GB)worker节点数量
4161~24
83225~100
1664101~150
2464151~200

输入图片说明说明:

  • master节点资源大小随worker节点数量增加而增加。
  • 当未启用并发多线程(SMT)或超线程时,一个vCPU相当于一个物理内核。启用后,使用以下公式换算:vCPU=(每个内核的线程数×内核数)×插槽数。

节点配置要求

  • 选定一台机器作为安装执行机,可为集群中的某一节点,也可作为集群外机器。
  • 所有机器支持可连通外部网络。
  • 所有机器可使用root用户登录。

环境准备

四台已经安装openEuler 22.03操作系统的Linux计算机和一个虚拟IP地址。

表 3 环境信息

主机IP地址主机名称操作系统角色
192.168.0.5node4openEuler控制平面
192.168.0.6node5openEuler控制平面
192.168.0.7node6openEuler控制平面
192.168.0.8node7openEuler工作节点
  • 示例中虚拟IP地址为:192.168.0.50

安装步骤

  1. 以root用户登录安装执行机。

  2. 下载安装工具与安装脚本。

    curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/installer/releases/download/v25.03/download.sh | bash -

    执行上述命令默认下载最新版本的安装包,若想下载其他版本,请使用如下命令指定版本后进行工具下载。

    输入图片说明 说明:
    安装包完整校验请参见安装包完整性校验

    export VERSION=x.y.z

    curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/installer/releases/download/v25.03/download.sh | bash -
  3. 生成集群规划配置文件。

    • 进入安装包目录。

      输入图片说明 说明:
      此处以openEuler22.03 ARM64为例,具体路径应视实际情况而定。

      export INSTALLER_PACKAGE_PATH=fuyao-v25.03-openEuler-22.03-arm64

      cd $INSTALLER_PACKAGE_PATH
    • 执行如下命令,生成高可用配置文件。

      ./fuyao create cluster-config --ha
    • 配置文件内容如下。

      apiVersion: openfuyao.io/v1beta1
      kind: cluster
      metadata:
      name: example-cluster
      spec:
      nodes:
      masters:
      - hostname: fuyao-master
      user: root
      ip: o.x.y.z
      port: 22
      privateKeyPath: /root/.ssh/id_rsa
      removeTaint: true
      labels:
      - name: label-name
      value: label-value
      - hostname: fuyao-master
      user: root
      ip: o.x.y.z
      port: 22
      privateKeyPath: /root/.ssh/id_rsa
      removeTaint: true
      labels:
      - name: label-name
      value: label-value
      - hostname: fuyao-master
      user: root
      ip: o.x.y.z
      port: 22
      privateKeyPath: /root/.ssh/id_rsa
      removeTaint: true
      labels:
      - name: label-name
      value: label-value
      workers:
      - hostname: fuyao-worker
      user: root
      ip: o.x.y.z
      port: 22
      privateKeyPath: /root/.ssh/id_rsa
      labels:
      - name: label-name
      value: label-value
      components:
      - name: kube-vip
      param:
      - name: vip
      value: 192.168.100.129
      type: string
      describe: 虚拟IP
      - name: interface
      value: eth0
      type: string
      describe: 网卡
      - name: registry
      value: harbor.openfuyao.com/openfuyao
      type: string
      describe: containerd config镜像地址
  4. 修改集群规划配置文件。

    • 编辑集群规划配置文件。

      export CLUSTER_HA_CONFIG_FILE=example-cluster.yaml

      vi $CLUSTER_HA_CONFIG_FILE
    • 填写节点清单信息,示例如下。

      • 至少填写3个master节点信息,可填写0个或多个worker节点信息。
      • hostname:集群中节点名称,可与实际机器名称不同。
      • user:部署时用于登录节点的用户名。
      • ip:节点IP地址。
      • port:ssh使用的端口号,默认为22。
      • vip:高可用部署时所需虚拟IP,集群中的所有master节点apiserver将使用此vip。
      • interface:kube-vip绑定的网卡名称。
        • 建议填写机器当前使用的网卡名。
        • 要求集群中所有master节点使用的网卡名必须一致。

    输入图片说明 说明:
    v25.03版本默认采用kube-vip的arp模式部署高可用集群。

    • 输入i进入编辑状态进行修改。 修改完成后,输入:wq保存并退出,修改后的配置文件如下:

      apiVersion: openfuyao.io/v1beta1
      kind: cluster
      metadata:
      name: example-cluster
      spec:
      # 节点清单
      nodes:
      # master节点配置
      masters:
      # 集群中hostname,可以和主机hostname不同
      - hostname: node4 # 修改项
      user: root # 修改项
      ip: 192.168.0.5 # 修改项
      port: 22 # 修改项
      privateKeyPath: /root/.ssh/id_rsa # 修改项(选填项)
      labels:
      - name: node4 # 修改项(选填项)
      value: master-01 # 修改项(选填项)
      - hostname: node5 # 修改项
      user: root # 修改项
      ip: 192.168.0.6 # 修改项
      port: 22 # 修改项
      privateKeyPath: /root/.ssh/id_rsa # 修改项(选填项)
      labels:
      - name: node5 # 修改项(选填项)
      value: master-02 # 修改项(选填项)
      - hostname: node6 # 修改项
      user: root # 修改项
      ip: 192.168.0.7 # 修改项
      port: 22 # 修改项
      privateKeyPath: /root/.ssh/id_rsa # 修改项(选填项)
      labels:
      - name: node6 # 修改项(选填项)
      value: master-03 # 修改项(选填项)
      workers:
      - hostname: node7 # 修改项
      user: root # 修改项
      ip: 192.168.0.8 # 修改项
      port: 22 # 修改项
      privateKeyPath: /root/.ssh/id_rsa # 修改项(选填项)
      labels:
      - name: node7 # 修改项(选填项)
      value: worker-01 # 修改项(选填项)
      components:
      - name: kube-vip
      param:
      - name: vip
      value: 192.168.0.50 # 修改项
      type: string
      describe: 虚拟ip
      - name: interface
      value: eth0 # 修改项
      type: string
      describe: 网卡
      - name: registry
      value: harbor.openfuyao.com/openfuyao
      type: string
      describe: containerd config镜像地址
    • 若配置安装过程中使用密钥登录集群节点,则需提前在安装执行机配置使用SSH密钥登录所有集群节点。

  5. 在安装包目录内执行安装。

    ./fuyao create cluster -f $CLUSTER_HA_CONFIG_FILE

    若配置使用密码登录集群节点,则安装过程中需根据提示输入对应节点的密码。

  6. 确认安装结果。

    • 自动化安装过程执行成功后,请记录openFuyao管理面的登录用户名和密码
    • 查看机器上所有Pod信息,当所有Pod状态都为running后表示环境准备完毕。
    kubectl get pod -A

    输入图片说明 说明:

    • 所有Pod状态都为running状态则安装完毕。具体时间与实际网络情况有关,网速较慢时等待时间会比较长。
    • openFuyao认证鉴权机制采用自签名方式生成密钥,所有认证鉴权密钥与配置文件存放在所有master节点的/etc/kubernetes/webhook下,在完成安装后可自行选择删除该路径下文件,若删除该路径下文件后重启apiserver,则会导致认证失败。
    • 安装部署工具部署的组件均采用默认配置,仅用于测试openFuyao平台功能,若在生产环境使用,请自行调整Kubernetes、容器运行时、网络插件组件安全配置。
  7. 登录openFuyao管理面

    浏览器中输入“https://管理面的登录IP地址:openFuyao的web服务端口”,输入用户名和密码即可登录openFuyao管理面。

    输入图片说明 说明: 首次登录需要修改密码。
    openFuyao的web服务端口默认为31616。

管理平台的详细功能介绍与使用指导请参见《用户指南》

卸载

  1. 以root身份登录安装执行机。

  2. 执行如下命令,进入安装包目录。

    cd $INSTALLER_PACKAGE_PATH

    编写配置文件,配置文件修改内容与安装时一致,填写集群中master与worker节点的hostname、user、ip、port、privateKeyPath

    vi $CLUSTER_HA_CONFIG_FILE

    输入图片说明 说明:
    若集群中节点无改变,可直接使用安装集群时的配置文件进行集群卸载。

  3. 在安装包目录内执行卸载。

    输入图片说明 须知:
    若环境中通过应用市场安装了多种应用或扩展组件,建议先通过应用管理或扩展组件管理卸载已安装的应用和扩展组件,否则可能会出现卸载慢或卸载失败的情况。

    ./fuyao destroy cluster -f $CLUSTER_HA_CONFIG_FILE
  4. 出现Successfully completed cluster destroy字样后即完成集群卸载。

    卸载操作未删除安装与卸载过程中打印的日志,日志存放路径为/var/log/fuyao-installer/,若想删除日志可执行如下命令。

    rm -rf /var/log/fuyao-installer/