6.3. Web 端末のアンインストール

Web 端末のアンインストールは 2 つの手順で実行されます。

  1. Operator のインストール時に追加された Web 端末 Operator および関連するカスタムリソース (CR) をアンインストールします。
  2. 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 のドキュメントを参照してください。

手順

  1. Web コンソールを使用して Web 端末 Operator をアンインストールします。

    1. Web コンソールの Administrator パースペクティブで、Operators → Installed Operators に移動します。
    2. フィルター一覧をスクロールするか、または Filter by name ボックスにキーワードを入力して Web 端末 Operator を見つけます。
    3. Web 端末 Operator の Options メニュー kebab をクリックし、Uninstall Operator を選択します。
    4. Uninstall Operator 確認ダイアログボックスで、Uninstall をクリックし、Operator、Operator デプロイメント、および Pod をクラスターから削除します。この Operator は実行を停止し、更新を受信しなくなります。
  2. 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 が不要であることが確実な場合にのみ、以下の手順に従ってください。

手順

  1. デプロイメントなどの関連する Kubernetes オブジェクトと共に、Operator が使用する DevWorkspace カスタムリソースを削除します。

    $ oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait
    $ oc delete devworkspaceroutings.controller.devfile.io --all-namespaces --all --wait
    警告

    この手順が完了しない場合、ファイナライザーは Operator を簡単に、かつ完全にアンインストールすることができないようにします。

  2. 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
  3. 関連するすべてのカスタムリソース定義が削除されていることを確認します。以下のコマンドでは、結果が何も表示されないはずです。

    $ oc get customresourcedefinitions.apiextensions.k8s.io | grep "devfile.io"
  4. 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 コマンドを再び使用できるようになります。

  5. 残りのサービス、シークレット、および設定マップを削除します。インストールによっては、以下のコマンドに含まれる一部のリソースがクラスターに存在しない場合があります。

    $ 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
  6. Web コンソールを使用して Operator をアンインストールします。

    1. Web コンソールの Administrator パースペクティブで、Operators → Installed Operators に移動します。
    2. フィルター一覧をスクロールするか、または Filter by name ボックスにキーワードを入力して DevWorkspace Operator を見つけます。
    3. DevWorkspace Operator の Options メニュー kebab をクリックし、Uninstall Operator を選択します。
    4. Uninstall Operator 確認ダイアログボックスで、Uninstall をクリックし、Operator、Operator デプロイメント、および Pod をクラスターから削除します。この Operator は実行を停止し、更新を受信しなくなります。