v25.12版本升级到v26.03版本使用指导
本文档旨在提供openFuyao的v25.12版本升级到v26.03版本的解决方案。
背景信息
由于v26.03版本相比于v25.12版本有如下变更,导致无法实现版本的自动化升级。
- cluster-api-provider-bke调谐器新增了BKENode的CRD,此外还变更了BKECluster的定义。
- bkeagent-deployer这个节点Pod,健康探针从HTTP协议切换到HTTPS协议,其启动依赖于集群CA证书签发的TLS证书。
- installer-service服务获取升级版本列表存在问题,导致v25.12版本的openFuyao集群无法获取到可升级的v26.03等版本。
- installer-website作为installer-service的前端服务,两者的版本需要匹配。
前提条件
使用openFuyao安装的v25.12版本的集群。
使用限制
无。
使用场景
- 在线环境下,引导集群部署的业务集群。
- 离线环境下,引导集群部署的业务集群。
- 在线环境下,管理集群部署的业务集群。
- 离线环境下,管理集群部署的业务集群。
引导集群部署业务集群
引导集群能直接部署安装业务集群,引导集群没有升级的能力,需要依赖于手工处理。
在线安装
按照下面步骤进行引导集群部署的业务集群的版本升级操作。
在引导节点上执行如下命令下载前置处理脚本。
bashcurl -O https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/tmp/patch-test/v25.12_to_v26.03_upgrade_bypass_script.tar.gz解压压缩包并进入在线场景下的业务集群升级目录。
bashtar -xzvf v25.12_to_v26.03_upgrade_bypass_script.tar.gz cd bootstrap_cluster_deploy_service_cluster/online/第一个已安装业务集群的处理。
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.sh3.2 升级处理。
引导节点的openFuyao管理面选择对应的业务集群,下发版本升级(v25.12到v26.03)的任务。
剩余已安装业务集群的处理。
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.sh4.2 升级处理。
引导节点的openFuyao管理面选择对应的业务集群,下发版本升级(v25.12到v26.03)的任务。
离线安装
离线安装的操作流程类似,区别点如下。
进入的处理目录不同。
bashtar -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 在管理集群的随意一个节点上执行如下命令下载前置处理脚本。
bashcurl -O https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/tmp/patch-test/v25.12_to_v26.03_upgrade_bypass_script.tar.gz1.2 解压压缩包并进入在线场景下的管理集群升级目录。
bashtar -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.1 在管理集群升级的基础上,由于已经下载了前置处理脚本,这里就直接进入到业务集群升级的目录下。
bashcd 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)的任务。
离线安装
离线安装的操作流程类似,区别如下。
管理集群的自升级。
进入的处理目录不同。
bashtar -xzvf v25.12_to_v26.03_upgrade_bypass_script.tar.gz cd bootstrap_cluster_deploy_service_cluster/offline/openFuyao管理面升级前上传目录下的Core-VersionConfig-v26.03.yaml版本文件。
业务集群的升级进入的目录如下。
bashtar -xzvf v25.12_to_v26.03_upgrade_bypass_script.tar.gz cd manager_cluster_deploy_service_cluster/offline/upgrade_service_cluster/