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 角色的用户访问集群。

流程

  1. 输入以下命令在 metallb-system 命名空间中获取 metallb-operator 订阅的 YAML 定义:

    $ oc -n metallb-system get subscription metallb-operator -o yaml
  2. 通过将 installPlanApproval 参数设置为 Manual 来编辑 Subscription CR:

    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
    # ...
  3. 输入以下命令查找 MetalLB Operator 的最新 OpenShift Container Platform 4.21 版本:

    $ oc -n metallb-system get csv
  4. 输入以下命令检查命名空间中存在的安装计划。

    $ 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

  5. 输入以下命令来编辑命名空间中存在的安装计划。确保将 <name_of_installplan> 替换为安装计划的名称,如 install-tsz2g

    $ oc edit installplan <name_of_installplan> -n metallb-system
    1. 在编辑器中打开安装计划后,将 spec.approval 参数设置为 Manual,并将 spec.approved 参数设置为 true

      注意

      编辑安装计划后,升级操作会启动。如果在升级操作过程中输入 oc -n metallb-system get csv 命令,则输出可能会显示 ReplacingPending 状态。

验证

  • 要验证是否已升级了 Operator,请输入以下命令,然后检查 Operator 的输出显示 Succeeded

    $ oc -n metallb-system get csv
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部