34.3. 升级 MetalLB

请注意,如果您当前运行的是版本 4.10,或 MetalLB Operator 的早期版本,对 4.10 之后的任何版本的自动更新都无法正常工作。从 4.11 或更高版本的 MetalLB Operator 版本升级到更新的版本。例如,从 4.12 升级到 4.13 版本将会平稳进行。

从 4.10 及更早版本的 MetalLB Operator 的升级步骤概述如下:

  1. 删除安装的 MetalLB Operator 版本,如 4.10。确保没有删除命名空间和 metallb 自定义资源。
  2. 使用 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 控制台。

流程

  1. 进入到 OperatorsInstalled Operators 页面。
  2. 搜索 MetalLB Operator。然后点它。
  3. Operator Details 页面右侧,从 Actions 下拉菜单中选择 Uninstall Operator

    此时会显示 Uninstall Operator? 对话框。

  4. 选择 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 命令。

流程

  1. currentCSV 字段中检查订阅的 MetalLB Operator 的当前版本:

    $ oc get subscription metallb-operator -n metallb-system -o yaml | grep currentCSV

    输出示例

      currentCSV: metallb-operator.4.10.0-202207051316

  2. 删除订阅:

    $ oc delete subscription metallb-operator -n metallb-system

    输出示例

    subscription.operators.coreos.com "metallb-operator" deleted

  3. 使用上一步中的 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 角色的用户访问集群。

流程

  1. 验证 metallb-system 命名空间仍然存在:

    $ oc get namespaces | grep metallb-system

    输出示例

    metallb-system                                     Active   31m

  2. 验证 metallb 自定义资源仍然存在:

    $ oc get metallb -n metallb-system

    输出示例

    NAME      AGE
    metallb   33m

  3. 按照"使用 CLI 安装 OperatorHub"中的指导来安装 MetalLB Operator 的最新 4.13 版本。

    注意

    安装最新的 MetalLB Operator 版本 4.13 时,您必须将 Operator 安装到之前安装的同一命名空间。

  4. 验证 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

34.3.4. 其他资源