6.3. Web 端末のアンインストール
Web 端末のアンインストールは 2 つの手順で実行されます。
- Operator のインストール時に追加された Web 端末 Operator および関連するカスタムリソース (CR) をアンインストールします。
- Web 端末 Operator の依存関係として追加された DevWorkspace Operator とそれに関連するカスタムリソースをアンインストールします。
Web 端末 Operator をアンインストールしても、Operator のインストール時に作成されるカスタムリソース定義 (CRD) または管理リソースは削除されません。これらのコンポーネントは、セキュリティー上の目的で手動でアンインストールする必要があります。これらのコンポーネントを削除すると、Operator のアンインストール時に端末がアイドル状態にならないようにしてクラスターリソースを保存することもできます。
前提条件
-
cluster-admin
権限を持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
6.3.1. Web 端末 Operator およびこれをサポートするカスタムリソースの削除
コンソールおよび CLI を使用して、Web 端末 Operator のインストール時に作成された既存の Web 端末および CR を削除します。
OpenShift Container Platform 4.8 よりも前のバージョンでは、Web 端末 Operator は Web 端末機能を提供するために異なる CRD を使用していました。Web 端末 Operator のバージョン 1.2.1 以前をアンインストールするには、OpenShift Container Platform 4.7 のドキュメントを参照してください。
手順
Web コンソールを使用して Web 端末 Operator をアンインストールします。
-
Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動します。 - フィルター一覧をスクロールするか、または Filter by name ボックスにキーワードを入力して Web 端末 Operator を見つけます。
- Web 端末 Operator の Options メニュー をクリックし、Uninstall Operator を選択します。
- Uninstall Operator 確認ダイアログボックスで、Uninstall をクリックし、Operator、Operator デプロイメント、および Pod をクラスターから削除します。この Operator は実行を停止し、更新を受信しなくなります。
-
Web コンソールの Administrator パースペクティブで、Operators
Operator によって使用される CRD を削除します。
$ oc delete devworkspaces.workspace.devfile.io --all-namespaces \ --selector 'console.openshift.io/terminal=true' --wait
$ oc delete devworkspacetemplates.workspace.devfile.io --all-namespaces \ --selector 'console.openshift.io/terminal=true' --wait
6.3.2. DevWorkspace Operator 依存関係の削除
CLI を使用して、Web 端末 Operator のインストール時に作成されるカスタムリソース定義 (CRD) および追加のリソースを削除します。
DevWorkspace Operator はスタンドアロン Operator として機能し、クラスターにインストールされている他の Operator の依存関係として必要になる場合があります (たとえば、CodeReady Workspaces Operator はこれに依存する場合があります)。DevWorkspace Operator が不要であることが確実な場合にのみ、以下の手順に従ってください。
手順
デプロイメントなどの関連する Kubernetes オブジェクトと共に、Operator が使用する
DevWorkspace
カスタムリソースを削除します。$ 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 configmap devworkspace-controller -n openshift-operators
$ oc delete clusterrole devworkspace-webhook-server
$ oc delete clusterrolebinding devworkspace-webhook-server
Web コンソールを使用して Operator をアンインストールします。
-
Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動します。 - フィルター一覧をスクロールするか、または Filter by name ボックスにキーワードを入力して DevWorkspace Operator を見つけます。
- DevWorkspace Operator の Options メニュー をクリックし、Uninstall Operator を選択します。
- Uninstall Operator 確認ダイアログボックスで、Uninstall をクリックし、Operator、Operator デプロイメント、および Pod をクラスターから削除します。この Operator は実行を停止し、更新を受信しなくなります。
-
Web コンソールの Administrator パースペクティブで、Operators