34.3. 升级 MetalLB
请注意,如果您当前运行的是版本 4.10,或 MetalLB Operator 的早期版本,对 4.10 之后的任何版本的自动更新都无法正常工作。从 4.11 或更高版本的 MetalLB Operator 版本升级到更新的版本。例如,从 4.12 升级到 4.13 版本将会平稳进行。
从 4.10 及更早版本的 MetalLB Operator 的升级步骤概述如下:
-
删除安装的 MetalLB Operator 版本,如 4.10。确保没有删除命名空间和
metallb自定义资源。 - 使用 CLI,在安装之前版本的 MetalLB Operator 的同一命名空间中安装 MetalLB Operator 4.13。
此流程不适用于 MetalLB Operator 的自动 z-stream 更新,这遵循标准的方法。
有关从 4.10 及更早版本升级 MetalLB Operator 的详细信息,请参阅以下指导。
34.3.1. 使用 Web 控制台从集群中删除 MetalLB Operator
集群管理员可以使用 Web 控制台从所选命名空间中删除已安装的 Operator。
先决条件
-
使用具有
cluster-admin权限的账户访问 OpenShift Container Platform 集群 Web 控制台。
流程
- 进入到 Operators → Installed Operators 页面。
- 搜索 MetalLB Operator。然后点它。
在 Operator Details 页面右侧,从 Actions 下拉菜单中选择 Uninstall Operator。
此时会显示 Uninstall Operator? 对话框。
选择 Uninstall 来删除 Operator、Operator 部署和 pod。按照此操作,Operator 将停止运行,不再接收更新。
注意此操作不会删除 Operator 管理的资源,包括自定义资源定义 (CRD) 和自定义资源 (CR) 。Web 控制台和继续运行的集群资源启用的仪表板和导航项可能需要手动清理。要在卸载 Operator 后删除这些,您可能需要手动删除 Operator CRD。
34.3.2. 使用 CLI 从集群中删除 MetalLB Operator
集群管理员可以使用 CLI 从所选命名空间中删除已安装的 Operator。
先决条件
-
使用具有
cluster-admin权限的账户访问 OpenShift Container Platform 集群。 -
已在工作站上安装
oc命令。
流程
在
currentCSV字段中检查订阅的 MetalLB Operator 的当前版本:$ oc get subscription metallb-operator -n metallb-system -o yaml | grep currentCSV
输出示例
currentCSV: metallb-operator.4.10.0-202207051316
删除订阅:
$ oc delete subscription metallb-operator -n metallb-system
输出示例
subscription.operators.coreos.com "metallb-operator" deleted
使用上一步中的
currentCSV值来删除目标命名空间中相应 Operator 的 CSV:$ oc delete clusterserviceversion metallb-operator.4.10.0-202207051316 -n metallb-system
输出示例
clusterserviceversion.operators.coreos.com "metallb-operator.4.10.0-202207051316" deleted
34.3.3. 升级 MetalLB Operator
先决条件
-
使用具有
cluster-admin角色的用户访问集群。
流程
验证
metallb-system命名空间仍然存在:$ oc get namespaces | grep metallb-system
输出示例
metallb-system Active 31m
验证
metallb自定义资源仍然存在:$ oc get metallb -n metallb-system
输出示例
NAME AGE metallb 33m
按照"使用 CLI 安装 OperatorHub"中的指导来安装 MetalLB Operator 的最新 4.13 版本。
注意安装最新的 MetalLB Operator 版本 4.13 时,您必须将 Operator 安装到之前安装的同一命名空间。
验证 Operator 的升级版本现在是 4.13 版本。
$ oc get csv -n metallb-system
输出示例
NAME DISPLAY VERSION REPLACES PHASE metallb-operator.4.4.13.0-202207051316 MetalLB Operator 4.4.13.0-202207051316 Succeeded