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

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

  1. Operator のインストール時に追加されたコンポーネントおよびカスタムリソース (CR) を削除します。
  2. Web 端末 Operator をアンインストールします。

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

前提条件

  • cluster-admin パーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできること。

6.3.1. Web 端末コンポーネントおよびカスタムリソースの削除

CLI を使用して、Web 端末 Operator のインストール時に作成された CR を削除します。

手順

  1. 以下のコマンドを実行して、すべての DevWorkspace CR がデプロイメントなどの関連する Kubernetes オブジェクトと共に削除されるようにします。

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

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

  2. CRD を削除するには、以下のコマンドを実行します。

    $ oc delete customresourcedefinitions.apiextensions.k8s.io workspaceroutings.controller.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io components.controller.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io
  3. DevWorkspace-Webhook-Server デプロイメントを削除します。

    $ oc delete deployment/devworkspace-webhook-server -n openshift-operators
    注記

    これと以下の手順を実行する際に、oc exec コマンドを使用してコンテナーでコマンドを実行することはできません。Webhook を削除すると、oc exec コマンドを再び使用できるようになります。

  4. 以下のコマンドを実行して依然として存在しているサービス、シークレット、および設定マップを削除します。

    $ oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server
    $ 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
  5. 以下のコマンドを実行して変更または検証用 webhook 設定を削除します。

    $ oc delete mutatingwebhookconfigurations controller.devfile.io
    $ oc delete validatingwebhookconfigurations controller.devfile.io