升级 Alauda Container Platform Pipelines Operator
本文档介绍如何在集群中使用 Marketplace/OperatorHub 界面将 Alauda Container Platform Pipelines Operator 升级到较新版本。升级过程旨在确保对现有 Tekton 资源的影响最小,同时保持操作简单明了。
升级概述
升级 Alauda Container Platform Pipelines Operator 后,您可以使用 Tekton 生态系统中的新功能、bug 修复和改进。Alauda Container Platform Pipelines Operator 会根据您的配置处理所有 Tekton 组件(Pipelines、Triggers、Hub 等)的升级。
开始之前
升级 Alauda Container Platform Pipelines Operator 前,请确保您:
- 具有集群的管理权限
- 查看新版本的 release notes,以了解任何不兼容变更
- 确认现有 Tekton 组件配置与新版本兼容
- 确认所有 Tekton 组件均处于就绪状态
首先确认目标 channel
批准升级前,请确认 Subscription 使用的 channel:
stable(从v4.6.3起为默认 channel):跟踪v4.6.zLTS 补丁版本。建议用于生产环境。latest:跟踪每个v4.6.z版本。等同于 4.6 LTS 线路上的stable,并且在v4.6.3之前为默认 channel。pipelines-4.6:仅跟踪v4.6.z补丁更新 — 内容与stable相同。
在 release-4.6 线路上,三个 channel 都携带相同的 v4.6.z 补丁流。channel 的选择主要影响 Subscription 中显示的 channel 名称;三个 channel 的升级行为相同。
升级过程
使用 Marketplace/OperatorHub
-
访问
Marketplace/OperatorHub- 登录集群的管理控制台
- 导航到
Marketplace或OperatorHub部分
-
找到
Alauda Container Platform PipelinesOperator- 在搜索栏中搜索
Alauda Container Platform Pipelines - 单击
Alauda Container Platform Pipelines卡片
- 在搜索栏中搜索
-
查看可用版本
- 在
Alauda Container Platform PipelinesOperator 详情页面上,您可以看到当前已安装版本的信息 - 界面会指示是否有较新版本可用
- 您可以单击不同的
Channels来查看所有可用版本
- 在
-
开始升级
- 如果目标版本位于不同的
Channel中,请先在Subscription中切换到对应的Channel - 如果当前
Channel有较新版本可用,您将看到以下提示:- 检测到新版本
- 如果只升级当前 Operator,请单击
Confirm进行升级。
- 如果只升级当前 Operator,请单击
- 检测到新版本
- 如果目标版本位于不同的
-
配置升级设置(如适用)
- 某些升级可能会显示配置选项
- 在大多数情况下,默认设置会保留现有配置
-
确认并开始升级
- 单击
Confirm开始该过程 - 查看升级详情并确认选择
- 系统将在保留自定义资源的同时更新
Alauda Container Platform PipelinesOperator
- 单击
-
监控升级
- 升级进度将显示在
OperatorHub界面中 - 您还可以在
tekton-operatornamespace 中检查状态: 当所有 pod 均处于Running状态时,Operator 升级完成。 随后,Operator 将自动升级Pipelines、Triggers、Hub、Chains等组件。 - 检查组件升级状态:
当所有组件和 pod 均处于
Ready状态时,组件升级完成。
- 升级进度将显示在
-
验证升级
- 检查
Alauda Container Platform PipelinesOperator 版本是否已更新: 当VERSION与新版本匹配时,升级完成。 - 验证 Tekton 组件是否正常运行
- 测试流水线是否可以成功运行
- 检查
使用 kubectl CLI
您也可以使用命令行界面升级 Alauda Container Platform Pipelines Operator。此方法适用于自动化操作,或您更倾向于使用基于 CLI 的操作。
-
检查当前 Subscription
- 首先,确定当前 Subscription 及其 channel:
-
切换到目标 channel
- 如果需要升级到不同 channel 中的版本,请修补 Subscription:
将
<target-channel>替换为所需的 channel(例如pipelines-4.1、latest)。
- 如果需要升级到不同 channel 中的版本,请修补 Subscription:
将
-
等待 UpgradePending 状态
- 监控 Subscription 状态,直到其显示为
UpgradePending: 在输出中查找state: UpgradePending。
- 监控 Subscription 状态,直到其显示为
-
批准 InstallPlan
-
当 Subscription 处于
UpgradePending状态时,查找对应的 InstallPlan: -
将
approved字段设置为true,以批准 InstallPlan:将
<installplan-name>替换为上一步中的实际 InstallPlan 名称。
-
-
监控升级进度
-
监控 Subscription 状态,直到其变为就绪:
-
检查 Operator pod 状态:
等待所有 pod 处于
Running状态。
-
-
验证升级
- 确认 Operator 版本已更新:
-
监控组件升级
- Operator 将自动升级 Tekton 组件。监控其进度:
确保所有组件和 pod 均达到
Ready状态。
- Operator 将自动升级 Tekton 组件。监控其进度:
确保所有组件和 pod 均达到
CLI 升级过程使用与 GUI 方法相同的底层机制。主要区别在于,您需要手动控制 channel 切换和 InstallPlan 批准步骤。
升级后步骤
升级成功完成后:
-
验证组件状态
- 检查所有 Tekton 组件是否已更新:
-
测试功能
- 运行一个简单的 pipeline,验证系统是否正常工作
- 确保所有现有集成继续正常运行
-
根据需要更新自定义资源
- 如果新版本引入了 CRD 变更,您可能需要更新自定义资源
- 有关具体迁移步骤,请参阅 release notes
回滚操作步骤
如果您在新版本中遇到问题,可以回滚到之前的版本:
- 返回
Marketplace/OperatorHub界面 - 选择
Alauda Container Platform PipelinesOperator Uninstall当前版本- 从版本列表中选择之前的版本
- 按照该版本的安装流程操作
降级可能需要执行额外步骤,以确保您的资源与旧版本兼容。
这取决于升级前版本与升级后版本之间的差异。如果差异较大,您可能需要手动迁移资源。
故障排除
如果您在升级期间或升级后遇到问题:
-
检查
Alauda Container Platform PipelinesOperator pod 的日志: -
验证 Tekton 资源的状态:
-
确保所有组件均处于预期状态:
后续步骤
成功升级 Alauda Container Platform Pipelines Operator 后:
- 探索最新版本引入的新功能
- 更新 CI/CD pipeline 以利用新功能
- 考虑启用新版本中可能提供的其他组件