版本:v26.03

v25.12版本升级到v26.03版本使用指导

本文档旨在提供openFuyao的v25.12版本升级到v26.03版本的解决方案。

背景信息

由于v26.03版本相比于v25.12版本有如下变更,导致无法实现版本的自动化升级。

  1. cluster-api-provider-bke调谐器新增了BKENode的CRD,此外还变更了BKECluster的定义。
  2. bkeagent-deployer这个节点Pod,健康探针从HTTP协议切换到HTTPS协议,其启动依赖于集群CA证书签发的TLS证书。
  3. installer-service服务获取升级版本列表存在问题,导致v25.12版本的openFuyao集群无法获取到可升级的v26.03等版本。
  4. installer-website作为installer-service的前端服务,两者的版本需要匹配。

前提条件

使用openFuyao安装的v25.12版本的集群。

使用限制

无。

使用场景

  • 在线环境下,引导集群部署的业务集群。
  • 离线环境下,引导集群部署的业务集群。
  • 在线环境下,管理集群部署的业务集群。
  • 离线环境下,管理集群部署的业务集群。

引导集群部署业务集群

引导集群能直接部署安装业务集群,引导集群没有升级的能力,需要依赖于手工处理。

在线安装

按照下面步骤进行引导集群部署的业务集群的版本升级操作。

  1. 在引导节点上执行如下命令下载前置处理脚本。

    bash
    curl -O https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/tmp/patch-test/v25.12_to_v26.03_upgrade_bypass_script.tar.gz
  2. 解压压缩包并进入在线场景下的业务集群升级目录。

    bash
    tar -xzvf v25.12_to_v26.03_upgrade_bypass_script.tar.gz
    cd bootstrap_cluster_deploy_service_cluster/online/
  3. 第一个已安装业务集群的处理。

    3.1 升级前准备。

    bash
    ## 下面的“分步执行”和“一次执行”,二选一即可。
    
    ### 各节点上分步执行
    #### 第一步、引导节点上更新installer-service和installer-website
    chmod +x update-installer.sh && sh ./update-installer.sh
    
    #### 第二步、引导节点上更新CRD并新增bn
    ##### 1、先准备好 nodes.txt 文件(仅填写第一个要处理的业务集群的节点信息),然后执行下面的命令
    chmod +x update-crd.sh && sh ./update-crd.sh
    ##### 2、引导节点上增加业务集群的bn数据(存在多个业务集群就需要操作)
    #### 先准备好 nodes-bn.txt 文件 (按格式填写剩余其他所有业务集群节点信息),然后执行下面的命令
    #### 注意:执行完这部操作后,业务集群的STATE会变成Deploying状态是正常的
    chmod +x add-bn.sh && sh ./add-bn.sh
    
    #### 第三步、业务集群各个节点上更新bkeagent
    ##### 1、各节点生成证书(node_ip需要替换为真实的节点ip地址)
    chmod +x cert-gen.sh && sh ./cert-gen.sh node_ip
    ##### 2、随机选择一个节点,更新bkeagent-deployer
    chmod + update-bkeagent-deployer.sh && sh ./update-bkeagent-deployer.sh
    ##### 3、各节点更新bkeagent(需要确保同级目录下有bkeagent-deployer.yaml文件)
    chmod +x update-bkeagent.sh && sh ./update-bkeagent.sh
    
    #### 第四步、引导节点上更新cluster-api-provider-bke
    #### 先准备好 nodes.txt 文件(第一个要处理的业务集群的节点信息),然后执行下面的命令
    chmod +x update-provider.sh && sh ./update-provider.sh
    
    ### 引导节点一次执行
    #### 第一步、预处理:按格式填写节点信息,准备好 nodes.txt 文件(仅包含第一个处理的业务集群的节点信息) 和 nodes-bn.txt 文件(包含剩余其他业务集群的节点信息,没有的话内容置空,但是文件需要存在),然后执行下面的命令
    #### 注意:1、需要在执行节点上安装sshpass  2、DRY_RUN=1 sh ./upgrade-all.sh  可以这样执行查看预处理的操作
    chmod +x upgrade-all.sh && sh ./upgrade-all.sh

    3.2 升级处理。

    引导节点的openFuyao管理面选择对应的业务集群,下发版本升级(v25.12到v26.03)的任务。

  4. 剩余已安装业务集群的处理。

    4.1 升级前准备。

    bash
    ## 下面的“分步执行”和“一次执行”,二选一即可。
    
    ### 各节点上分步执行
    #### 第一步、业务集群各个节点上更新bkeagent
    ##### 1、各节点生成证书(node_ip需要替换为真实的节点ip地址)
    chmod +x cert-gen.sh && sh ./cert-gen.sh node_ip
    ##### 2、随机选择一个节点,更新bkeagent-deployer
    chmod + update-bkeagent-deployer.sh && sh ./update-bkeagent-deployer.sh
    ##### 3、各节点更新bkeagent(需要确保同级目录下有bkeagent-deployer.yaml文件)
    chmod +x update-bkeagent.sh && sh ./update-bkeagent.sh
    
    ### 引导节点一次执行
    #### 第一步、预处理:按格式填写节点信息,准备好 nodes.txt 文件(包含要处理的业务集群的节点信息),然后执行下面的命令
    #### 注意:1、需要在执行节点上安装sshpass  2、DRY_RUN=1 sh ./upgrade-other.sh  可以这样执行查看预处理的操作
    chmod +x upgrade-other.sh && sh ./upgrade-other.sh

    4.2 升级处理。

    引导节点的openFuyao管理面选择对应的业务集群,下发版本升级(v25.12到v26.03)的任务。

离线安装

离线安装的操作流程类似,区别点如下。

  • 进入的处理目录不同。

    bash
    tar -xzvf v25.12_to_v26.03_upgrade_bypass_script.tar.gz
    cd bootstrap_cluster_deploy_service_cluster/offline/
  • openFuyao管理面升级前上传目录下的Core-VersionConfig-v26.03.yaml版本文件。

管理集群部署业务集群

引导集群首先拉起管理集群,然后使用管理集群部署业务集群,该场景的升级处理就先需要升级管理集群,然后再进行业务集群的升级,两种升级场景都受管理集群的控制。

在线安装

按照下面步骤进行管理集群部署的业务集群的版本升级操作。

  1. 管理集群的自升级处理。

    1.1 在管理集群的随意一个节点上执行如下命令下载前置处理脚本。

    bash
    curl -O https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/tmp/patch-test/v25.12_to_v26.03_upgrade_bypass_script.tar.gz

    1.2 解压压缩包并进入在线场景下的管理集群升级目录。

    bash
    tar -xzvf v25.12_to_v26.03_upgrade_bypass_script.tar.gz
    cd manager_cluster_deploy_service_cluster/online/upgrade_manager_cluster/

    1.3 升级前准备。

    bash
    ## 下面的“分步执行”和“一次执行”,二选一即可。
    
    ### 各节点上分步执行
    #### 第一步、管理集群随意一个节点上更新installer-service和installer-website
    chmod +x update-installer.sh && sh ./update-installer.sh
    
    #### 第二步、管理集群随意一个节点上更新cluster-api-provider-bke
    #### 先准备好 nodes.txt 文件(按格式填写管理集群节点信息),然后执行下面的命令
    chmod +x update-provider.sh && sh ./update-provider.sh
    
    #### 第三步、管理集群各个节点上更新bkeagent
    ##### 1、各节点生成证书(node_ip需要替换为真实的节点ip地址)
    chmod +x cert-gen.sh && sh ./cert-gen.sh node_ip
    ##### 2、随机选择一个节点,更新bkeagent-deployer
    chmod +x update-bkeagent-deployer.sh && sh ./update-bkeagent-deployer.sh
    ##### 3、各节点更新bkeagent(需要确保同级目录下有bkeagent-deployer.yaml文件)
    chmod +x update-bkeagent.sh && sh ./update-bkeagent.sh
    
    #### 第四步、管理集群随意一个节点上增加业务集群的bn数据(存在管理集群拉起的业务集群就需要操作,否则可不执行这一步)
    #### 先准备好 nodes-bn.txt 文件 (按格式填写所有业务集群节点信息),然后执行下面的命令
    #### 注意:执行完这部操作后,业务集群的STATE会变成Deploying状态是正常的。
    chmod +x add-bn.sh && sh ./add-bn.sh
    
    
    ### 管理集群随意一个节点一次执行
    #### 第一步、预处理
    #### 按格式填写节点信息,准备好 nodes.txt 文件(包含管理集群的节点信息) 和 nodes-bn.txt 文件(包含所有业务集群的节点信息,没有的话内容置空,但是文件需要存在),然后执行下面的命令
    #### 注意:1、需要在执行节点上安装sshpass  2、DRY_RUN=1 sh ./upgrade-all.sh  可以这样执行查看预处理的操作
    chmod +x upgrade-all.sh && sh ./upgrade-all.sh

    输入图片说明 注意:
    nodes.txt和nodes-bn.txt文件不要包含空行。

    1.4 升级处理。

    管理集群的openFuyao管理面选择自身管理集群,下发版本升级(v25.12到v26.03)的任务。

  2. 业务集群的升级处理。

    管理集群升级完成后,下面可以进行业务集群的升级操作。

    2.1 在管理集群升级的基础上,由于已经下载了前置处理脚本,这里就直接进入到业务集群升级的目录下。

    bash
    cd manager_cluster_deploy_service_cluster/online/upgrade_service_cluster/

    2.2 升级前准备。

    bash
    ## 下面的“分步执行”和“一次执行”,二选一即可。
    
    ### 各节点上分步执行
    #### 第一步、业务集群各个节点上更新bkeagent
    ##### 1、各节点生成证书(node_ip需要替换为真实的节点ip地址)
    chmod +x cert-gen.sh && sh ./cert-gen.sh node_ip
    ##### 2、随机选择一个节点,更新bkeagent-deployer
    chmod +x update-bkeagent-deployer.sh && sh ./update-bkeagent-deployer.sh
    ##### 3、各节点更新bkeagent(需要确保同级目录下有bkeagent-deployer.yaml文件)
    chmod +x update-bkeagent.sh && sh ./update-bkeagent.sh
    
    
    
    ### 管理集群随意一个节点上一次执行
    #### 第一步、预处理
    #### 先准备好 nodes.txt 文件(包含当前业务集群的所有节点信息),然后执行下面的命令
    #### 注意:1、需要在执行节点上安装sshpass  2、DRY_RUN=1 sh ./upgrade-all.sh  可以这样执行查看预处理的操作
    chmod +x upgrade-all.sh && sh ./upgrade-all.sh

    输入图片说明 注意:
    nodes.txt和nodes-bn.txt文件不要包含空行。

    2.3 升级处理。

    管理集群的openFuyao管理面选择对应的业务集群,下发版本升级(v25.12到v26.03)的任务。

离线安装

离线安装的操作流程类似,区别如下。

  • 管理集群的自升级。

    • 进入的处理目录不同。

      bash
      tar -xzvf v25.12_to_v26.03_upgrade_bypass_script.tar.gz
      cd bootstrap_cluster_deploy_service_cluster/offline/
    • openFuyao管理面升级前上传目录下的Core-VersionConfig-v26.03.yaml版本文件。

  • 业务集群的升级进入的目录如下。

    bash
    tar -xzvf v25.12_to_v26.03_upgrade_bypass_script.tar.gz
    cd manager_cluster_deploy_service_cluster/offline/upgrade_service_cluster/