1.2. Kubernetes NMState Operator のアンインストール
Operator Lifecycle Manager (OLM) を使用して Kubernetes NMState Operator をアンインストールできますが、設計上、OLM は関連付けられているカスタムリソース定義 (CRD)、カスタムリソース (CR)、API サービスを削除しません。
OLM が使用する Subcription リソースから Kubernetes NMState Operator をアンインストールする前に、削除する Kubernetes NMState Operator リソースを特定します。そうすることで、実行中のクラスターに影響を与えることなくリソースを削除できます。
Kubernetes NMState Operator を再インストールする必要がある場合は、「CLI を使用した Kubernetes NMState Operator のインストール」または「Web コンソールを使用した Kubernetes NMState Operator のインストール」を参照してください。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
jqCLI ツールがインストールされている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
次のコマンドを実行して、
Subcriptionリソースに対する Kubernetes NMState Operator のサブスクリプションを解除します。$ oc delete --namespace openshift-nmstate subscription kubernetes-nmstate-operatorKubernetes NMState Operator に関連付けられている
ClusterServiceVersion(CSV) リソースを見つけます。$ oc get --namespace openshift-nmstate clusterserviceversionCSV リソースをリストする出力例
NAME DISPLAY VERSION REPLACES PHASE kubernetes-nmstate-operator.v4.18.0 Kubernetes NMState Operator 4.18.0 SucceededCSV リソースを削除します。ファイルを削除すると、OLM は Operator 用に作成した
RBACなどの特定リソースを削除します。$ oc delete --namespace openshift-nmstate clusterserviceversion kubernetes-nmstate-operator.v4.18.0次のコマンドを実行して、
nmstateCR と関連するDeploymentリソースを削除します。$ oc -n openshift-nmstate delete nmstate nmstate$ oc delete --all deployments --namespace=openshift-nmstatenmstateCR を削除した後、console.operator.openshift.io/clusterCR からnmstate-console-pluginコンソールプラグイン名を削除します。次のコマンドを実行して、有効なプラグインのリスト内に存在する
nmstate-console-pluginエントリーの位置を保存します。次のコマンドは、jqCLI ツールを使用して、エントリーのインデックスをINDEXという名前の環境変数に保存します。INDEX=$(oc get console.operator.openshift.io cluster -o json | jq -r '.spec.plugins | to_entries[] | select(.value == "nmstate-console-plugin") | .key')次のパッチコマンドを実行して、
console.operator.openshift.io/clusterCR からnmstate-console-pluginエントリーを削除します。$ oc patch console.operator.openshift.io cluster --type=json -p "[{\"op\": \"remove\", \"path\": \"/spec/plugins/$INDEX\"}]"1 - 1
INDEXは補助変数です。この変数には別の名前を指定できます。
次のコマンドを実行して、
nmstates.nmstate.ioなどのカスタムリソース定義 (CRD) をすべて削除します。$ oc delete crd nmstates.nmstate.io$ oc delete crd nodenetworkconfigurationenactments.nmstate.io$ oc delete crd nodenetworkstates.nmstate.io$ oc delete crd nodenetworkconfigurationpolicies.nmstate.ionamespace を削除します。
$ oc delete namespace openshift-nmstate