34.3. MetalLB のアップグレード
デフォルトで namespace を metallb-system にサブスクライブする Subscription カスタムリソース (CR) は、installPlanApproval パラメーターを Automatic に自動的に設定します。そのため、Red Hat が提供する Operator カタログに MetalLB Operator の新しいバージョンが含まれている場合、その MetalLB Operator は自動的にアップグレードされます。
MetalLB Operator のアップグレードを手動で制御する必要がある場合は、installPlanApproval パラメーターを Manual に設定します。
34.3.1. MetalLB Operator の手動アップグレード リンクのコピーリンクがクリップボードにコピーされました!
MetalLB Operator のアップグレードを手動で制御するには、namespace を metallb-system にサブスクライブする Subscription カスタムリソース (CR) を編集する必要があります。Subscription CR は Operator のインストール中に作成されます。この CR の installPlanApproval パラメーターは、デフォルトで Automatic に設定されます。
前提条件
- クラスターを最新の z-stream リリースに更新した。
- OperatorHub を使用して MetalLB Operator をインストールした。
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスします。
手順
次のコマンドを入力して、
metallb-systemnamespace 内のmetallb-operatorサブスクリプションの YAML 定義を取得します。$ oc -n metallb-system get subscription metallb-operator -o yamlinstallPlanApprovalパラメーターを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.15 バージョンを見つけます。
$ oc -n metallb-system get csv出力例
NAME DISPLAY VERSION REPLACES PHASE metallb-operator.v4.15.0 MetalLB Operator 4.15.0 Succeeded次のコマンドを入力して、namespace に存在するインストールプランを確認します。
$ oc -n metallb-system get installplan手動インストールプランとして install-tsz2g が表示された出力例
NAME CSV APPROVAL APPROVED install-shpmd metallb-operator.v4.15.0-202502261233 Automatic true install-tsz2g metallb-operator.v4.15.0-202503102139 Manual false次のコマンドを入力して、namespace に存在するインストールプランを編集します。
<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ステータスが表示される場合があります。
検証
次のコマンドを入力して、アップグレードが成功したことを確認します。
$ oc -n metallb-system get csv出力例
NAME DISPLAY VERSION REPLACE PHASE metallb-operator.v<latest>.0-202503102139 MetalLB Operator {product-version}.0-202503102139 metallb-operator.v{product-version}.0-202502261233 Succeeded