32.3. MetalLB のアップグレード
現在、MetalLB Operator のバージョン 4.10 以前のバージョンを実行している場合、4.10 以降のバージョンへの自動更新は機能しないことに注意してください。4.11 以降の任意のバージョンの MetalLB Operator から新しいバージョンへのアップグレードは成功します。たとえば、バージョン 4.12 からバージョン 4.13 へのアップグレードはスムーズに行われます。
4.10 以前からの MetalLB Operator のアップグレード手順の概要は次のとおりです。
-
インストールされている MetalLB Operator バージョン (4.10 など) を削除します。namespace と
metallb
カスタムリソースが削除されていないことを確認してください。 - CLI を使用して、以前のバージョンの MetalLB Operator がインストールされていた namespace に MetalLB Operator 4.14 をインストールします。
この手順は、標準の簡単な方法に従う MetalLB Operator の自動 z ストリーム更新には適用されません。
MetalLB Operator を 4.10 以前からアップグレードする詳細な手順は、次のガイダンスを参照してください。クラスター管理者は、OpenShift CLI (oc
) または Web コンソールを使用して MetalLB Operator を削除し、アップグレードプロセスを開始します。
32.3.1. Web コンソールを使用してクラスターから MetalLB Operator を削除
クラスター管理者は Web コンソールを使用して、選択した namespace からインストールされた Operator を削除できます。
前提条件
-
cluster-admin
権限を持つアカウントを使用して OpenShift Container Platform クラスター Web コンソールにアクセスできる。
手順
-
Operators
Installed Operators ページに移動します。 - MetalLB Operator を検索します。次に、それをクリックします。
Operator Details ページの右側で、Actions ドロップダウンメニューから Uninstall Operator を選択します。
Uninstall Operator? ダイアログボックスが表示されます。
Uninstall を選択し、Operator、Operator デプロイメント、および Pod を削除します。このアクションの後には、Operator は実行を停止し、更新を受信しなくなります。
注記このアクションは、カスタムリソース定義 (CRD) およびカスタムリソース (CR) など、Operator が管理するリソースは削除されません。Web コンソールおよび継続して実行されるクラスター外のリソースによって有効にされるダッシュボードおよびナビゲーションアイテムには、手動でのクリーンアップが必要になる場合があります。Operator のアンインストール後にこれらを削除するには、Operator CRD を手動で削除する必要があります。
32.3.2. CLI を使用してクラスターから MetalLB Operator を削除
クラスター管理者は CLI を使用して、選択した namespace からインストールされた 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
値を使用し、ターゲット namespace の 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
32.3.3. MetalLB Operator Operator グループの編集
4.10 以前の MetalLB Operator バージョンから 4.11 以降にアップグレードする場合は、Operator グループのカスタムリソース (CR) から spec.targetNamespaces
を削除します。MetalLB Operator の削除に Web コンソールや CLI を使用したかにかかわらず、仕様を削除する必要があります。
MetalLB Operator バージョン 4.11 以降は AllNamespaces
インストールモードのみをサポートしますが、4.10 以前のバージョンは OwnNamespace
モードまたは SingleNamespace
モードをサポートします。
前提条件
-
cluster-admin
権限を使用して OpenShift Container Platform クラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
次のコマンドを実行して、
metallb-system
namespace 内の Operator グループをリスト表示します。$ oc get operatorgroup -n metallb-system
出力例
NAME AGE metallb-system-7jc66 85m
次のコマンドを実行して、
metallb-system
namespace に関連付けられた Operator グループ CR にspec.targetNamespaces
が存在することを確認します。$ oc get operatorgroup metallb-system-7jc66 -n metallb-system -o yaml
出力例
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: annotations: olm.providedAPIs: "" creationTimestamp: "2023-10-25T09:42:49Z" generateName: metallb-system- generation: 1 name: metallb-system-7jc66 namespace: metallb-system resourceVersion: "25027" uid: f5f644a0-eef8-4e31-a306-e2bbcfaffab3 spec: targetNamespaces: - metallb-system upgradeStrategy: Default status: lastUpdated: "2023-10-25T09:42:49Z" namespaces: - metallb-system
次のコマンドを実行して、Operator グループを編集し、
spec
セクション配下のtargetNamespaces
とmetallb-system
を削除します。$ oc edit n metallb-system
出力例
operatorgroup.operators.coreos.com/metallb-system-7jc66 edited
次のコマンドを実行して、
metallb-system
namespace に関連付けられた Operator グループのカスタムリソースからspec.targetNamespaces
が削除されていることを確認します。$ oc get operatorgroup metallb-system-7jc66 -n metallb-system -o yaml
出力例
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: annotations: olm.providedAPIs: "" creationTimestamp: "2023-10-25T09:42:49Z" generateName: metallb-system- generation: 2 name: metallb-system-7jc66 namespace: metallb-system resourceVersion: "61658" uid: f5f644a0-eef8-4e31-a306-e2bbcfaffab3 spec: upgradeStrategy: Default status: lastUpdated: "2023-10-25T14:31:30Z" namespaces: - ""
32.3.4. MetalLB Operator のアップグレード
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスします。
手順
metallb-system
namespace がまだ存在することを確認します。$ 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.14 バージョンをインストールします。
注記MetalLB Operator の最新の 4.14 バージョンをインストールする場合、以前にインストールしたのと同じ namespace に Operator をインストールする必要があります。
Operator のアップグレードされたバージョンが 4.14 バージョンになったことを確認します。
$ oc get csv -n metallb-system
出力例
NAME DISPLAY VERSION REPLACES PHASE metallb-operator.4.14.0-202207051316 MetalLB Operator 4.14.0-202207051316 Succeeded