7.3. 웹 터미널 설치 제거

웹 터미널 설치 제거는 2단계로 수행됩니다.

  1. Operator를 설치할 때 추가된 Web Terminal Operator 및 관련 사용자 지정 리소스(CR)를 제거합니다.
  2. Web Terminal Operator의 종속성으로 추가된 DevWorkspace Operator 및 관련 사용자 정의 리소스를 설치 제거합니다.

Web Terminal Operator를 설치 제거해도 Operator가 설치될 때 생성된 CRD(사용자 정의 리소스 정의) 또는 관리 리소스 정의는 제거되지 않습니다. 이러한 구성 요소는 보안 목적으로 수동으로 설치 제거해야 합니다. 이러한 구성 요소를 제거하면 Operator가 제거될 때 터미널이 유휴 상태가 되지 않도록하여 클러스터 리소스를 절약할 수 있습니다.

전제 조건

  • cluster-admin 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.

7.3.1. Web Terminal Operator 및 이를 지원하는 사용자 정의 리소스 제거

콘솔과 CLI를 사용하여 Web Terminal Operator를 설치하는 동안 생성된 기존 웹 터미널 및 CR을 삭제합니다.

참고

OpenShift Container Platform 4.8 이전에는 Web Terminal Operator에서 다른 CRD를 사용하여 웹 터미널 기능을 제공합니다. Web Terminal Operator 버전 1.2.1 이하를 제거하려면 OpenShift Container Platform 4.7 설명서를 참조하십시오.

절차

  1. 웹 콘솔을 사용하여 Web Terminal Operator를 설치 제거합니다.

    1. 웹 콘솔의 Administrator 모드에서 Operator → Installed Operators로 이동합니다.
    2. 필터 목록을 스크롤하거나 Filter by name 상자에서 키워드를 입력하여 Web Terminal Operator를 찾습니다.
    3. Web Terminal Operator의 옵션 메뉴 kebab 를 클릭한 다음 Uninstall Operator 를 선택합니다.
    4. Uninstall Operator 확인 대화 상자에서 Uninstall을 클릭하여 클러스터에서 Operator, Operator 배포 및 pod를 제거합니다. Operator는 실행을 중지하고 더 이상 업데이트가 수신되지 않습니다.
  2. Operator에서 사용하는 CR을 제거합니다.

    $ 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

7.3.2. DevWorkspace Operator 종속성 삭제

CLI를 사용하여 Web Terminal 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 배포, 변경 및 검증 웹 후크를 제거합니다.

    $ 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 명령을 사용하여 클러스터의 컨테이너에서 명령을 실행할 수 없습니다. 웹 후크를 제거한 후에는 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. 웹 콘솔을 사용하여 Operator 설치 제거

    1. 웹 콘솔의 Administrator 모드에서 Operator → Installed Operators로 이동합니다.
    2. 필터 목록을 스크롤하거나 Filter by name 상자에서 키워드를 입력하여 DevWorkspace Operator를 찾습니다.
    3. DevWorkspace Operator의 옵션 메뉴 kebab 를 클릭한 다음 Uninstall Operator 를 선택합니다.
    4. Uninstall Operator 확인 대화 상자에서 Uninstall을 클릭하여 클러스터에서 Operator, Operator 배포 및 pod를 제거합니다. Operator는 실행을 중지하고 더 이상 업데이트가 수신되지 않습니다.