升级 Alauda DevOps Pipelines Operator
本文档介绍如何使用集群中的 Marketplace/OperatorHub 界面对 Alauda DevOps Pipelines Operator 升级到更新版本。升级过程设计得尽量简单,同时确保对现有 Tekton 资源的影响最小。
升级概览
升级 Alauda DevOps Pipelines Operator 后,您可以访问新功能、错误修复以及对 Tekton 生态系统的改进。Alauda DevOps Pipelines Operator 会根据您的配置处理所有 Tekton 组件(Pipelines、Triggers、Hub 等)的升级。
开始之前
在升级 Alauda DevOps Pipelines Operator 之前,请确保您:
- 拥有对集群的管理员访问权限
- 查看新版本的 release notes,了解任何不兼容变更
- 验证现有 Tekton 组件配置与新版本兼容
- 确认所有 Tekton 组件都处于就绪状态
先确认目标 Channel
在批准升级之前,请先确认您的 Subscription 使用的是哪个 Channel:
stable(自v4.6.3起的默认值):跟踪v4.6.zLTS 补丁发布。推荐用于生产环境。latest:跟踪所有v4.6.z发布。在 4.6 LTS 线上与stable等效,并且在v4.6.3之前是默认值。pipelines-4.6:仅跟踪v4.6.z补丁更新——内容与stable相同。
在 release-4.6 分支上,这三个 Channel 提供的都是相同的 v4.6.z 补丁流。选择不同 Channel 主要影响您的 Subscription 中显示的 Channel 名称;升级行为在三者之间是相同的。
升级过程
使用 Marketplace/OperatorHub
-
访问
Marketplace/OperatorHub- 登录集群的管理控制台
- 导航到
Marketplace或OperatorHub部分
-
定位
Alauda DevOps PipelinesOperator- 在搜索栏中搜索
Alauda DevOps Pipelines - 点击
Alauda DevOps Pipelines卡片
- 在搜索栏中搜索
-
查看可用版本
- 在
Alauda DevOps PipelinesOperator 详情页,您可以看到当前已安装版本的信息 - 如果有新版本可用,界面会进行提示
- 您可以点击不同的
Channels查看所有可用版本
- 在
-
发起升级
- 如果目标版本位于不同的
Channel中,请先在Subscription中切换到对应的Channel - 如果当前
Channel有更高版本可用,您将看到提示:- 检测到新版本
- 若仅升级当前 Operator,请点击
Confirm进行升级。
- 若仅升级当前 Operator,请点击
- 检测到新版本
- 如果目标版本位于不同的
-
配置升级设置(如适用)
- 某些升级可能会提供配置选项
- 在大多数情况下,默认设置会保留您现有的配置
-
确认并开始升级
- 点击
Confirm开始升级过程 - 检查升级详情并确认您的选择
- 系统会在保留自定义资源的同时更新
Alauda DevOps PipelinesOperator
- 点击
-
监控升级
- 升级进度会显示在
OperatorHub界面中 - 您也可以检查
tekton-operator命名空间中的状态: 当所有 pod 都处于Running状态时,Operator 升级完成。 随后,Operator 会自动升级Pipelines、Triggers、Hub、Chains等组件。 - 检查组件升级状态:
当所有组件和 pod 都处于
Ready状态时,组件升级完成。
- 升级进度会显示在
-
验证升级
- 检查
Alauda DevOps PipelinesOperator 版本是否已更新: 当VERSION与新版本一致时,升级完成。 - 验证 Tekton 组件是否正常工作
- 测试您的 pipelines 是否可以成功运行
- 检查
使用 kubectl CLI
您也可以使用命令行界面升级 Alauda DevOps Pipelines Operator。此方法适用于自动化场景,或当您更偏好基于 CLI 的操作时使用。
-
检查当前 Subscription
- 首先,识别当前 Subscription 及其
Channel:
- 首先,识别当前 Subscription 及其
-
切换到目标 Channel
- 如果您需要升级到不同
Channel中的版本,请先 patch 该 Subscription: 将<target-channel>替换为所需的Channel(例如pipelines-4.1、latest)。
- 如果您需要升级到不同
-
等待
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,验证系统是否正常工作
- 确保所有现有集成都能继续正常运行
-
如有需要,更新自定义资源
- 如果新版本引入了对 CRDs 的更改,您可能需要更新自定义资源
- 有关具体迁移步骤,请参阅 release notes
回滚操作步骤
如果新版本出现问题,您可以回滚到之前的版本:
- 返回
Marketplace/OperatorHub界面 - 选择
Alauda DevOps PipelinesOperator Uninstall当前版本- 从版本列表中选择之前的版本
- 按照该版本的安装过程进行操作
降级可能需要额外的步骤,以确保您的资源与旧版本兼容。
这取决于您升级前后的版本差异。如果差异较大,您可能需要手动迁移资源。
故障排查
如果您在升级期间或升级后遇到问题:
-
检查
Alauda DevOps PipelinesOperator pod 日志: -
验证 Tekton 资源的状态:
-
确保所有组件都具有预期状态:
后续步骤
成功升级 Alauda DevOps Pipelines Operator 之后:
- 了解新版本引入的新功能
- 更新您的 CI/CD pipelines,以利用新的能力
- 考虑启用新版本中可能提供的其他组件