5.3. 升级 MetalLB Operator
MetalLB Operator 的 Subscription 自定义资源(CR)用于管理 Operator 是否自动升级或手动升级。
默认情况下,Subscription CR 将命名空间分配给 metallb-system,并将 installPlanApproval 参数设置为 Automatic。这意味着,当红帽提供的 Operator 目录包含 MetalLB Operator 的较新版本时,MetalLB Operator 会自动升级。
如果需要手动控制 MetalLB Operator 升级,请将 installPlanApproval 参数设置为 Manual。
5.3.1. 手动升级 MetalLB Operator 复制链接链接已复制到粘贴板!
要手动控制 OpenShift Container Platform 中的 MetalLB Operator 何时升级,您可以在 Subscription 自定义资源中将 installPlanApproval 设置为 Manual,并批准安装计划。然后,您可以使用 ClusterServiceVersion 状态来验证升级。
先决条件
- 将集群更新至最新的 z-stream 版本。
- 您可以使用软件目录安装 MetalLB Operator。
-
使用具有
cluster-admin角色的用户访问集群。
流程
输入以下命令在
metallb-system命名空间中获取metallb-operator订阅的 YAML 定义:$ oc -n metallb-system get subscription metallb-operator -o yaml通过将
installPlanApproval参数设置为Manual来编辑SubscriptionCR:apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: metallb-operator namespace: metallb-system # ... spec: channel: stable installPlanApproval: Manual name: metallb-operator source: redhat-operators sourceNamespace: openshift-marketplace # ...输入以下命令查找 MetalLB Operator 的最新 OpenShift Container Platform 4.21 版本:
$ oc -n metallb-system get csv输入以下命令检查命名空间中存在的安装计划。
$ oc -n metallb-system get installplan将 install-tsz2g 显示为手动安装计划的输出示例
NAME CSV APPROVAL APPROVED install-shpmd metallb-operator.v4.21.0-202502261233 Automatic true install-tsz2g metallb-operator.v4.21.0-202503102139 Manual false输入以下命令来编辑命名空间中存在的安装计划。确保将
<name_of_installplan>替换为安装计划的名称,如install-tsz2g。$ oc edit installplan <name_of_installplan> -n metallb-system在编辑器中打开安装计划后,将
spec.approval参数设置为Manual,并将spec.approved参数设置为true。注意编辑安装计划后,升级操作会启动。如果在升级操作过程中输入
oc -n metallb-system get csv命令,则输出可能会显示Replacing或Pending状态。
验证
要验证是否已升级了 Operator,请输入以下命令,然后检查 Operator 的输出显示
Succeeded:$ oc -n metallb-system get csv