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

Web Terminal Operator をアンインストールしても、Operator のインストール時に作成されるカスタムリソース定義 (CRD) または管理リソースは削除されません。セキュリティー上の理由から、これらのコンポーネントは手動でアンインストールする必要があります。これらのコンポーネントを削除すると、Operator をアンインストールしても端末はアイドル状態にならないため、クラスターリソースが保存されます。

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

  1. Operator のインストール時に追加された Web 端末 Operator および関連するカスタムリソース (CR) をアンインストールします。
  2. Web 端末 Operator の依存関係として追加された DevWorkspace Operator とそれに関連するカスタムリソースをアンインストールします。

8.4.1. Web Terminal Operator の削除

Web 端末をアンインストールするには、Operator が使用する Web Terminal Operator とカスタムリソースを削除します。

前提条件

  • クラスター管理者のパーミッションを持つ OpenShift Container Platform クラスターにアクセスできる。
  • oc CLI がインストールされている。

手順

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

    $ 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

8.4.2. DevWorkspace Operator の削除

Web 端末を完全にアンインストールするには、Operator が使用する DevWorkspace Operator とカスタムリソースも削除する必要があります。

重要

DevWorkspace Operator はスタンドアロン Operator であり、クラスターにインストールされている他の Operator の依存関係として必要になる場合があります。DevWorkspace Operator が不要であることが確実な場合にのみ、以下の手順を実行してください。

前提条件

  • クラスター管理者のパーミッションを持つ OpenShift Container Platform クラスターにアクセスできる。
  • oc CLI がインストールされている。

手順

  1. Operator が使用する DevWorkspace カスタムリソースと関連する Kubernetes オブジェクトを削除します。

    $ 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 clusterrole devworkspace-webhook-server
    $ oc delete clusterrolebinding devworkspace-webhook-server
  6. DevWorkspace Operator をアンインストールします。

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