8.4. Web 端末のアンインストール
Web Terminal Operator をアンインストールしても、Operator のインストール時に作成されるカスタムリソース定義 (CRD) または管理リソースは削除されません。セキュリティー上の理由から、これらのコンポーネントは手動でアンインストールする必要があります。これらのコンポーネントを削除すると、Operator をアンインストールしても端末はアイドル状態にならないため、クラスターリソースが保存されます。
Web 端末のアンインストールは 2 つの手順で実行されます。
- Operator のインストール時に追加された Web 端末 Operator および関連するカスタムリソース (CR) をアンインストールします。
- Web 端末 Operator の依存関係として追加された DevWorkspace Operator とそれに関連するカスタムリソースをアンインストールします。
8.4.1. Web Terminal Operator の削除
Web 端末をアンインストールするには、Operator が使用する Web Terminal Operator とカスタムリソースを削除します。
前提条件
- クラスター管理者のパーミッションを持つ OpenShift Container Platform クラスターにアクセスできる。
-
oc
CLI がインストールされている。
手順
-
Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動します。 - フィルターリストをスクロールするか、Filter by name ボックスにキーワードを入力して Web Terminal Operator を見つけます。
- Web Terminal Operator の Options メニュー をクリックし、Uninstall Operator を選択します。
- Uninstall Operator 確認ダイアログボックスで、Uninstall をクリックし、Operator、Operator デプロイメント、および Pod をクラスターから削除します。この Operator は実行を停止し、更新を受信しなくなります。
8.4.2. DevWorkspace Operator の削除
Web 端末を完全にアンインストールするには、Operator が使用する DevWorkspace Operator とカスタムリソースも削除する必要があります。
DevWorkspace Operator はスタンドアロン Operator であり、クラスターにインストールされている他の Operator の依存関係として必要になる場合があります。DevWorkspace Operator が不要であることが確実な場合にのみ、以下の手順を実行してください。
前提条件
- クラスター管理者のパーミッションを持つ OpenShift Container Platform クラスターにアクセスできる。
-
oc
CLI がインストールされている。
手順
Operator が使用する
DevWorkspace
カスタムリソースと関連する Kubernetes オブジェクトを削除します。$ oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait
$ oc delete devworkspaceroutings.controller.devfile.io --all-namespaces --all --wait
警告この手順が完了していない場合、ファイナライザーにより Operator を完全にアンインストールすることが困難になります。
Operator によって使用される CRD を削除します。
警告DevWorkspace Operator は、変換 Webhook を使用するカスタムリソース定義 (CRD) を提供します。これらの CRD の削除に失敗すると、クラスターで問題が発生する可能性があります。
$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceroutings.controller.devfile.io
$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io
$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspacetemplates.workspace.devfile.io
$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceoperatorconfigs.controller.devfile.io
関連するすべてのカスタムリソース定義が削除されていることを確認します。以下のコマンドを実行しても何も出力されないはずです。
$ oc get customresourcedefinitions.apiextensions.k8s.io | grep "devfile.io"
devworkspace-webhook-server
デプロイメント、変更用および検証用の Webhook を削除します。$ oc delete deployment/devworkspace-webhook-server -n openshift-operators
$ oc delete mutatingwebhookconfigurations controller.devfile.io
$ oc delete validatingwebhookconfigurations controller.devfile.io
注記変更用および検証用の Webhook を削除せずに
devworkspace-webhook-server
デプロイメントを削除した場合、oc exec
コマンドを使用してクラスターのコンテナーでコマンドを実行できません。Webhook を削除したら、oc exec
コマンドを再度使用できます。残りのサービス、シークレット、および設定マップを削除します。インストールによっては、以下のコマンドに含まれる一部のリソースがクラスターに存在しない場合があります。
$ oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server -n openshift-operators
$ oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators
$ oc delete clusterrole devworkspace-webhook-server
$ oc delete clusterrolebinding devworkspace-webhook-server
DevWorkspace Operator をアンインストールします。
-
Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動します。 - フィルターリストをスクロールするか、Filter by name ボックスにキーワードを入力して DevWorkspace Operator を見つけます。
- Operator のオプションメニュー をクリックし、Uninstall Operator を選択します。
- Uninstall Operator 確認ダイアログボックスで、Uninstall をクリックし、Operator、Operator デプロイメント、および Pod をクラスターから削除します。この Operator は実行を停止し、更新を受信しなくなります。
-
Web コンソールの Administrator パースペクティブで、Operators