30.3. MetalLB Operator のアップグレード
自動アップグレード手順は、OpenShift Container Platform 4.10 以前では期待どおりに機能しません。アップグレード手順の概要は次のとおりです。
-
以前にインストールした Operator バージョン (例: 4.10) を削除します。namespace と
metallbカスタムリソースが削除されていないことを確認してください。 - CLI を使用して 4.11 バージョンの Operator をインストールします。以前にインストールされた Operator バージョンがインストールされたのと同じ namespace に 4.11 バージョンの Operator をインストールします。
この手順は、標準の簡単な方法に従う MetalLB Operator の自動 z ストリーム更新には適用されません。
MetalLB Operator を 4.10 以前からアップグレードする詳細な手順については、次のガイダンスを参照してください。クラスター管理者は、OpenShift CLI (oc) または Web コンソールを使用して MetalLB Operator を削除し、アップグレードプロセスを開始します。
30.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 を手動で削除する必要があります。
30.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
30.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-systemnamespace 内の Operator グループをリスト表示します。$ oc get operatorgroup -n metallb-system出力例
NAME AGE metallb-system-7jc66 85m次のコマンドを実行して、
metallb-systemnamespace に関連付けられた 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-systemnamespace に関連付けられた 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: - ""
30.3.4. MetalLB Operator のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスします。
手順
metallb-systemnamespace がまだ存在することを確認します。$ oc get namespaces | grep metallb-system出力例
metallb-system Active 31mmetallbカスタムリソースがまだ存在することを確認します。$ oc get metallb -n metallb-system出力例
NAME AGE metallb 33mCLI を使用した OperatorHub からのインストールに記載されたガイダンスに従い、MetalLB Operator の最新の 4.11 バージョンをインストールします。
注記MetalLB Operator の最新の 4.11 バージョンをインストールする場合、以前にインストールしたのと同じ namespace に Operator をインストールする必要があります。
Operator のアップグレードされたバージョンが 4.11 バージョンになったことを確認します。
$ oc get csv -n metallb-system出力例
NAME DISPLAY VERSION REPLACES PHASE metallb-operator.{product-version}.0-202207051316 MetalLB Operator {product-version}.0-202207051316 Succeeded