升级
当您要在现有集群的 OperatorHub 中发布新的 Alauda Build of Rook-Ceph Operator 版本时,请使用此操作步骤。
请选择与平台版本匹配的路径:
批准针对 rook-ceph/rook-operator 的待处理 InstallPlan 后,会安装 Operator CSV。在 4.4.1 及更高版本中,该批准操作同时也是对软件包绑定的 Ceph 镜像的确认。在 4.4.0 中,控制台不会写入该镜像;您必须使用 kubectl 对其进行修补。
上传新软件包之前,请确认 Rook Operator Subscription 使用 Manual 批准。如果 installPlanApproval 为 Automatic,新版本出现在目录中后,OLM 会立即开始升级 Operator。
目录
开始之前1. 确认 Manual 批准2. 上传新的 Operator 软件包3. 批准 Operator 软件包在 4.4.0 上应用 Ceph 镜像验证 Operator 和数据平面如果详细信息页面上的按钮仍处于禁用状态相关主题开始之前
- 确定 Rook Operator 的命名空间。Distributed Storage 向导创建的默认命名空间为
rook-ceph。 - 下载与集群架构匹配的新 Alauda Build of Rook-Ceph Operator 软件包。
- 对于内部模式,确认
CephCluster为Ready,且status.ceph.health为HEALTH_OK。 - 对于外部模式(
spec.external.enable: true),仅升级 Operator。不要修补本地 Ceph 镜像。 - 不要将生成的 CSV 清单编辑作为持久化自定义项。后续 OLM 调和可能会覆盖这些编辑。请参阅架构。
1. 确认 Manual 批准
输出必须为 Manual。如果不是,请在上传软件包之前进行设置:
在 4.4.1 及更高版本中,您还可以在 Marketplace > OperatorHub > Alauda Build of Rook-Ceph 中将 Upgrade Strategy 设置为 Manual。
2. 上传新的 Operator 软件包
使用 violet 上传新的 Alauda Build of Rook-Ceph 软件包,然后确认 OperatorHub 中显示了目标版本。
按照上架软件包以及Operator中的 OperatorHub 操作步骤进行操作。
上传成功后,OperatorHub 会将新版本显示为可用。在 installPlanApproval 为 Manual 之前,请勿批准该版本。
3. 批准 Operator 软件包
OLM 会为新的 CSV 创建一个 InstallPlan。仅批准由 Subscription.status.installPlanRef 引用的计划。
详情页按钮在 4.4.1 及更高版本中可用。在 4.4.0 中,请跳过此选项卡并使用 kubectl。
- 登录并切换到 Administrator 视图。
- 打开 Rook-Ceph 集群详情页。
- 启用按钮后,该按钮会显示 升级到,后跟目标 CSV 版本。该版本来自待处理 InstallPlan 的目标 CSV(
spec.version,或 CSV 名称中的版本部分,例如rook-ceph.v4.4.1→4.4.1)。 - 单击该按钮。控制台会将该 InstallPlan 的
spec.approved设置为true。您可以离开该页面。
在以下情况下,按钮会保持禁用状态:
- 当前用户无法更新
rook-ceph中的InstallPlan对象。 - 集群处于内部模式,且
status.ceph.health不是HEALTH_OK。 - 没有由
Subscription.status.installPlanRef引用的待处理未批准 InstallPlan。如果 OLM 尚未创建该 InstallPlan,仅目录中存在更新的 CSV 并不足够。
在已批准的计划安装期间,按钮可能会显示升级正在进行。待处理计划消失后,按钮会显示没有可用升级。
该按钮不会写入 spec.cephVersion.image,不会创建 StorageCluster,也不会解析 PackageManifest 镜像。
在 4.4.0 上应用 Ceph 镜像
在批准 Operator 软件包后,4.4.0 不会跟随 Ceph 镜像。对于内部模式,请从新的 CSV 中选择 relatedImage 名称为 ceph 的 Ceph daemon 镜像。不要从未筛选的 relatedImages 列表中复制镜像。
如果命令退出时出现错误,请停止操作。在 relatedImages 恰好包含一个 name 为 ceph 的条目之前,不要修补 CephCluster。
列出 CephCluster 对象,并将 spec.cephVersion.image 修补为该唯一镜像。替换 <cephcluster-name>:
在4.4.1 及更高版本中,不要运行此修补操作。批准软件包即表示接受绑定的 Ceph 镜像。
验证 Operator 和数据平面
确认 Operator CSV:
对于内部模式,确认 CephCluster 的运行状况和 Ceph 镜像:
phase=Ready和health=HEALTH_OK。spec.cephVersion.image与名为ceph的唯一 CSVrelatedImages条目匹配。- 现有 PVC 仍为
Bound。
对于外部模式,跳过本地镜像检查。现有使用者卷应保持为 Bound。
如果详细信息页面上的按钮仍处于禁用状态
本节适用于4.4.1 及更高版本。在4.4.0 中没有详细信息页面按钮;请使用 kubectl。
-
确认用户可以在
rook-ceph中更新installplans。 -
对于内部模式,确认
status.ceph.health为HEALTH_OK。 -
检查 Subscription 和所引用的 InstallPlan:
如果 catalog 中已有更新的 CSV,但没有待批准的 InstallPlan,请检查
startingCSV是否锁定了 Subscription。不要尝试从详细信息页面修复此锁定。 -
如果 InstallPlan 已获批准,但在 4.4.1 或更高版本中 Ceph 镜像未发生变化,请确认已安装的 CSV 为
Succeeded,并且relatedImages恰好包含一个名为ceph的条目。
不要删除 CephCluster 或 PV 对象来取消升级。