Instana Custom Edition을 수동으로 제거하기

Kubernetes 또는 Red Hat OpenShift 환경에서 IBM Instana Custom Edition을 수동으로 제거하려면, 설치 순서와 반대로 사용자 지정 리소스, 연산자, 데이터 저장소 및 관련 네임스페이스를 제거하면 됩니다.

시작하기 전에

제거를 시작하기 전에 다음 전제 조건이 충족되었는지 확인하십시오:

  • 클러스터 관리자 권한을 사용할 수 있습니다.
  • 필요한 모든 모니터링 데이터는 백업되었습니다.
  • Instana 에이전트가 중지되거나 백엔드와의 연결이 끊어집니다.
  • 재사용될 예정인 사용자 지정 구성 파일, 인증서 및 라이선스 정보는 내보내집니다.
  • 해당되는 경우, 유지보수 기간이 승인됩니다.

이 태스크에 대한 정보

이 절차는 Instana 의 Enterprise Operator, Core 및 Unit 사용자 정의 리소스를 사용하여 수동으로 설치된 배포에 적용됩니다. 제거 과정은 설치 순서의 역순으로 진행되며, 이를 통해 모든 종속 리소스가 완전히 제거되고, 고아 Kubernetes 객체가 생성되는 것을 방지합니다.

다음 순서대로 단계를 완료해야 합니다:

  1. 유닛 사용자 정의 리소스 제거
  2. Core 사용자 정의 리소스 제거
  3. Instana Enterprise Operator 제거
  4. 데이터 저장소 구성 요소 제거
  5. cert-manager 제거하기
  6. Instana 의 CRD 삭제
  7. SCC 삭제 ( Red Hat OpenShift 전용)
  8. 클러스터 역할, 클러스터 역할 바인딩 및 웹훅 구성을 삭제합니다

프로시저

  1. 터미널에서 해당 instana-units 네임스페이스 내의 기존 Unit 리소스를 확인하십시오.
    Draft comment: Bob
    Converted section 4 "Remove Unit Resources" into task steps. Verification substeps are added as info/stepresult elements for proper DITA structure.

    Unit 리소스는 테넌트별 Instana 서비스를 나타내며, Core 리소스에 종속됩니다. 코어를 삭제하기 전에 유닛 자원을 모두 제거해야 합니다.

    kubectl get units -n instana-units

    출력 예제:

    NAME              VERSION   INSTANA VERSION   DB MIGRATION STATUS   COMPONENTS STATUS
    tenant0-unit0     1.2.0     3.289.589-0       Ready                 Ready
  2. 유닛 리소스를 삭제하십시오.
    • 이름을 지정하여 Unit 리소스를 삭제하려면 다음 명령을 실행하십시오:
      kubectl delete unit <unit-name> -n instana-units
    • 구성 파일을 사용하여 Unit 리소스를 삭제하려면 다음 명령을 실행하십시오:
      kubectl delete -f path/to/unit.yaml
    unit.instana.io "tenant0-unit0" deleted from instana-units namespace
  3. 모든 유닛 리소스가 제거되었는지 확인하십시오.
    kubectl get units -n instana-units
    명령은 다음을 리턴합니다.No resources found.
  4. instana-units 네임스페이스 내의 비밀을 나열하십시오.
    kubectl get secrets -n instana-units

    출력 예제:

    instana-registry    kubernetes.io/dockerconfigjson   1      5h23m
    tenant0-unit0       Opaque                           1      3h31m
  5. tenant0-unit0 비밀 정보를 instana-registry 삭제하십시오.
    kubectl delete secret instana-registry tenant0-unit0 -n instana-units
  6. 네임스페이스를 instana-units 삭제하십시오.
    kubectl delete namespace instana-units
    namespace "instana-units" deleted
  7. 네임스페이스 instana-core 내의 기존 Core 리소스를 확인하십시오.
    Draft comment: Bob
    Converted section 5 "Remove Core Resource" into task steps.

    'Core' 리소스는 모든 유닛에서 사용하는 공유 백엔드 서비스를 제공합니다.

    kubectl get core -n instana-core

    출력 예제:

    instana-core   1.2.0     3.289.589-0       Ready                 Ready
  8. 다음 방법 중 하나를 사용하여 Core 리소스를 삭제하십시오.
    • 이름을 지정하여 Core 리소스를 삭제합니다:
      kubectl delete core <core-name> -n instana-core
    • 구성 파일을 사용하여 Core 리소스를 삭제합니다:
      kubectl delete -f path/to/core.yaml
    core.instana.io "instana-core" deleted from instana-core namespace
  9. Core 리소스가 제거되었는지 확인하십시오.
    kubectl get core -n instana-core
    명령은 다음을 리턴합니다.No resources found. 진행하기 전에 모든 Core 관련 포드와 서비스가 종료될 때까지 기다리십시오.
  10. instana-core 네임스페이스 내의 비밀을 나열하십시오.
    kubectl get secrets -n instana-core

    출력 예제:

    instana-core       Opaque                           1      3h42m
    instana-registry   kubernetes.io/dockerconfigjson   1      5h34m
    instana-tls        kubernetes.io/tls                2      4h1m
  11. instana-registry, instana-core, 및 instana-tls 비밀 정보를 삭제하십시오.
    kubectl delete secret instana-registry instana-core instana-tls -n instana-core
  12. 선택 사항: 배포가 Red Hat OpenShift 클러스터에 있는 경우, 해당 instana-core 네임스페이스 내의 경로를 삭제하십시오.
    Draft comment: Bob
    Converted the OCP-specific route deletion note into an optional step with proper DITA importance attribute.

    경로를 나열하려면 다음 명령을 실행하십시오:

    oc get routes -n instana-core

    출력 예제:

    NAME          HOST/PORT                              PATH   SERVICES   PORT    TERMINATION   WILDCARD
    acceptor      acceptor                                      acceptor   8443    passthrough   None
    base-domain   base-domain.instana.fyre.ibm.com               gateway    https   passthrough   None

    각 경로 이름을 지정하여 경로를 삭제하십시오:

    oc delete route <route-name-1> <route-name-2> -n instana-core

    예:

    oc delete route acceptor base-domain opamp-acceptor otlp-grpc-acceptor otlp-http-acceptor unit0-tenant0-ui -n instana-core
  13. 네임스페이스를 instana-core 삭제하십시오.
    kubectl delete namespace instana-core
  14. 해당 instana-operator 네임스페이스 내의 오퍼레이터 배포 상태를 확인하십시오.
    Draft comment: Bob
    Converted section 6 "Remove Instana Enterprise Operator" into task steps.

    엔터프라이즈 운영자는 ‘ Instana ’의 코어 및 유닛 리소스의 수명 주기를 관리합니다. 해당 리소스가 삭제된 후에는 운영자를 안전하게 제거할 수 있습니다.

    kubectl get deployments -n instana-operator

    출력 예제:

    NAME                       READY   UP-TO-DATE   AVAILABLE   AGE
    instana-operator           1/1     1            1           5h44m
    instana-operator-webhook   1/1     1            1           5h44m
  15. 연산자 배치를 삭제하십시오.
    kubectl delete deployment instana-operator -n instana-operator
    kubectl delete deployment instana-operator-webhook -n instana-operator
  16. 해당 instana-operator 네임스페이스에 포함된 서비스를 나열하십시오.
    kubectl get svc -n instana-operator

    출력 예제:

    NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
    instana-operator-webhook   ClusterIP   172.30.115.218   <none>        443/TCP   5h46m
  17. 해당 instana-operator-webhook 서비스를 삭제하십시오.
    kubectl delete svc instana-operator-webhook -n instana-operator
  18. 네임스페이스 instana-operator 내의 모든 리소스가 제거되었는지 확인하십시오.
    kubectl get all -n instana-operator
    명령은 다음을 리턴합니다.No resources found. 진행하기 전에 모든 오퍼레이터 및 웹훅 파드가 종료될 때까지 기다리십시오.
  19. 네임스페이스에서 해당 instana-operatorinstana-registry 비밀을 삭제합니다.
    kubectl get secrets -n instana-operator

    출력 예제:

    instana-registry   kubernetes.io/dockerconfigjson   1      5h55m
    kubectl delete secret instana-registry -n instana-operator
  20. 네임스페이스를 instana-operator 삭제하십시오.
    kubectl delete namespace instana-operator
  21. 배포 아키텍처에 따라 데이터 스토어 구성 요소를 제거하십시오.
    Draft comment: Bob
    Converted section 7 "Remove Datastore Components" into a single step with substeps per datastore. Each datastore is a separate substep group.

    Instana Custom Edition은 여러 백엔드 데이터 저장소 서비스를 활용합니다. Core 및 Unit 리소스가 삭제된 후에야 이 구성 요소들을 제거하십시오.

    1. Beeinstana 와 Beeinstana 연산자를 제거하십시오.

      /path/to/configuration/file.yaml 을 Beeinstana 배포에 사용한 구성 파일의 경로로 변경하십시오.

      kubectl delete -f /path/to/configuration/file.yaml -n beeinstana

      Beeinstana 포드가 삭제된 후, Beeinstana 운영자를 제거하십시오:

      helm uninstall beeinstana -n beeinstana

      모든 Beeinstana 및 Beeinstana 운영자 포드가 종료될 때까지 기다리십시오. 그런 다음, 시크릿을 삭제하세요:

      kubectl get secrets -n beeinstana

      출력 예제:

      beeinstana-admin-creds     Opaque                           2      31h
      beeinstana-cas             Opaque                           0      31h
      beeinstana-kafka-creds     Opaque                           2      30h
      instana-registry           kubernetes.io/dockerconfigjson   1      31h
      kubectl delete secret instana-registry beeinstana-admin-creds beeinstana-kafka-creds beeinstana-cas -n beeinstana

      영구 볼륨 클레임(PVC)과 네임스페이스를 삭제합니다:

      kubectl get pvc -n beeinstana
      kubectl delete pvc --all -n beeinstana
      kubectl delete namespace beeinstana
    2. ClickHouse,, ClickHouse Keeper 및 ClickHouse 운영자를 제거하십시오.
      kubectl delete -f clickhouse_installation.yaml -n instana-clickhouse

      ClickHouse 포드가 삭제된 후, ClickHouse Keeper를 제거하십시오:

      kubectl delete -f clickhouse_keeper.yaml -n instana-clickhouse

      ClickHouse 와 ClickHouse Keeper가 모두 삭제된 후, ClickHouse 운영자를 제거하십시오:

      helm uninstall clickhouse-operator -n instana-clickhouse

      모든 포드가 종료될 때까지 기다리십시오. 그런 다음, 시크릿 instana-registry , PVC 및 네임스페이스를 삭제하십시오:

      kubectl delete secret instana-registry -n instana-clickhouse
      kubectl get pvc -n instana-clickhouse
      kubectl delete pvc --all -n instana-clickhouse
      kubectl delete namespace instana-clickhouse
    3. Cassandra 와 cass-operator를 제거하십시오.
      kubectl delete -f cassandra.yaml -n instana-cassandra

      Cassandra 포드가 삭제된 후, cass-operator를 제거하십시오:

      helm uninstall cass-operator -n instana-cassandra

      모든 포드가 종료될 때까지 기다리십시오. 그런 다음, 시크릿, PVC 및 네임스페이스를 삭제합니다:

      kubectl delete secret instana-registry instana-superuser -n instana-cassandra
      kubectl get pvc -n instana-cassandra
      kubectl delete pvc --all -n instana-cassandra
      kubectl delete namespace instana-cassandra
    4. PostgreSQL 와 CNPG 연산자를 제거하십시오.
      kubectl delete -f postgres.yaml -n instana-postgres

      PostgreSQL 포드가 삭제된 후, CNPG 오퍼레이터를 제거하십시오:

      helm uninstall cnpg -n instana-postgres

      모든 포드가 종료될 때까지 기다리십시오. 그런 다음, 시크릿, PVC 및 네임스페이스를 삭제합니다:

      kubectl delete secret instana-registry instanaadmin -n instana-postgres
      kubectl get pvc -n instana-postgres
      kubectl delete pvc --all -n instana-postgres
      kubectl delete namespace instana-postgres
    5. Kafka, Kafka 컨트롤러 및 Strimzi 연산자를 제거하십시오.

      Kafka 데이터 저장소를 삭제합니다:

      kubectl delete -f kafka.yaml -n instana-kafka

      Kafka 컨트롤러를 삭제합니다:

      kubectl delete -f kafka-controller.yaml -n instana-kafka

      Kafka 사용자를 삭제합니다:

      kubectl delete -f strimzi-kafka-user.yaml -n instana-kafka

      Kafka 및 컨트롤러 포드가 모두 삭제된 후, Strimzi 오퍼레이터를 제거하십시오:

      helm uninstall strimzi-kafka-operator -n instana-kafka

      모든 포드가 종료될 때까지 기다리십시오. 그런 다음, 시크릿, PVC 및 네임스페이스를 삭제합니다:

      kubectl delete secret instana-registry -n instana-kafka
      kubectl get pvc -n instana-kafka
      kubectl delete pvc --all -n instana-kafka
      kubectl delete namespace instana-kafka
    6. Elasticsearch 와 Elastic 연산자를 제거하십시오.
      kubectl delete -f elastic.yaml -n instana-elastic

      Elasticsearch 포드가 삭제된 후, Elastic 오퍼레이터를 제거하십시오:

      helm uninstall elastic-operator -n instana-elastic

      모든 포드가 종료될 때까지 기다리십시오. 그런 다음, 시크릿, PVC 및 네임스페이스를 삭제합니다:

      kubectl delete secret instana-registry -n instana-elastic
      kubectl get pvc -n instana-elastic
      kubectl delete pvc --all -n instana-elastic
      kubectl delete namespace instana-elastic
  22. 모든 데이터 스토어 네임스페이스가 제거되었는지 확인하십시오.
    kubectl get ns
    출력 결과에 데이터 스토어 파드와 네임스페이스가 하나도 포함되어 있지 않은지 확인하십시오.
  23. cert-manager 의 구성 요소와 네임스페이스를 삭제하여 프로그램을 제거하십시오.
    Draft comment: Bob
    Converted section 8 "Uninstalling cert manager" into a task step.
    kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.20.2/cert-manager.yaml
    계속 진행하기 전에 모든 리소스와 네임스페이스가 cert-manager 삭제될 때까지 기다리십시오.
  24. Instana 의 Core 및 Unit 사용자 정의 리소스 정의(CRD)를 삭제합니다.
    Draft comment: Bob
    Converted section "Deleting the CRDs" into task steps. Separated Instana CRDs from datastore CRDs for clarity.

    Instana 의 CRD가 존재하는지 확인하십시오:

    kubectl get crd | grep instana

    출력 예제:

    cores.instana.io    2026-06-25T06:11:47Z
    units.instana.io    2026-06-25T06:11:47Z

    CRD를 삭제합니다:

    kubectl delete crd cores.instana.io units.instana.io
  25. 데이터 스토어와 관련된 CRD를 삭제하십시오.

    데이터 스토어와 관련된 CRD를 나열하십시오:

    kubectl get crd --show-labels | grep -E 'cassandra|cnpg|kafka|strimzi|clickhouse|elastic|postgres|beeinstana'

    나열된 CRD를 삭제하십시오. 다음 예제는 예상되는 모든 CRD를 보여줍니다:

    kubectl delete crd \
      agents.agent.k8s.elastic.co \
      apmservers.apm.k8s.elastic.co \
      autoopsagentpolicies.autoops.k8s.elastic.co \
      backups.postgresql.cnpg.io \
      beats.beat.k8s.elastic.co \
      cassandradatacenters.cassandra.datastax.com \
      cassandratasks.control.k8ssandra.io \
      clickhouseinstallations.clickhouse.altinity.com \
      clickhouseinstallationtemplates.clickhouse.altinity.com \
      clickhousekeeperinstallations.clickhouse-keeper.altinity.com \
      clickhouseoperatorconfigurations.clickhouse.altinity.com \
      clusterimagecatalogs.postgresql.cnpg.io \
      clusters.postgresql.cnpg.io \
      databases.postgresql.cnpg.io \
      elasticmapsservers.maps.k8s.elastic.co \
      elasticsearchautoscalers.autoscaling.k8s.elastic.co \
      elasticsearches.elasticsearch.k8s.elastic.co \
      enterprisesearches.enterprisesearch.k8s.elastic.co \
      failoverquorums.postgresql.cnpg.io \
      imagecatalogs.postgresql.cnpg.io \
      kafkabridges.kafka.strimzi.io \
      kafkaconnectors.kafka.strimzi.io \
      kafkaconnects.kafka.strimzi.io \
      kafkamirrormaker2s.kafka.strimzi.io \
      kafkanodepools.kafka.strimzi.io \
      kafkarebalances.kafka.strimzi.io \
      kafkas.kafka.strimzi.io \
      kafkatopics.kafka.strimzi.io \
      kafkausers.kafka.strimzi.io \
      kibanas.kibana.k8s.elastic.co \
      logstashes.logstash.k8s.elastic.co \
      packageregistries.packageregistry.k8s.elastic.co \
      poolers.postgresql.cnpg.io \
      publications.postgresql.cnpg.io \
      scheduledbackups.postgresql.cnpg.io \
      stackconfigpolicies.stackconfigpolicy.k8s.elastic.co \
      subscriptions.postgresql.cnpg.io
  26. 선택 사항: 배포가 Red Hat OpenShift 클러스터에 있는 경우, 보안 컨텍스트 제약 조건(SCC)을 삭제하십시오.
    Draft comment: Bob
    Converted section 9 "Deleting the SCCs" into an optional OCP step.

    Instana 와 관련된 SCC를 나열하십시오:

    oc get scc | grep -E "cassandra|clickhouse|instana|postgres|cnpg"

    출력 예제:

    cassandra-scc    false   <no value>   RunAsAny   MustRunAs   RunAsAny   RunAsAny   <no value>   false
    clickhouse-scc   false   <no value>   RunAsAny   MustRunAs   RunAsAny   RunAsAny   <no value>   false

    SCC를 삭제합니다:

    oc delete scc cassandra-scc clickhouse-scc
  27. Instana 와 관련된 클러스터 역할, 클러스터 역할 바인딩 및 웹훅 구성을 삭제합니다.
    Draft comment: Bob
    Converted section 10 into a task step. Condensed verbose explanation into a single actionable step with example output.

    자원을 나열하십시오:

    kubectl get clusterroles,clusterrolebindings,validatingwebhookconfigurations,mutatingwebhookconfigurations \
      | grep -E "instana|cassandra|kafka|cnpg|postgres|elastic|clickhouse|beeinstana"

    출력 예제:

    clusterrole.rbac.authorization.k8s.io/instana-operator                                   2026-06-25T06:11:47Z
    clusterrole.rbac.authorization.k8s.io/instana-operator-webhook                           2026-06-25T06:11:47Z
    clusterrolebinding.rbac.authorization.k8s.io/instana-operator                             ClusterRole/instana-operator          28h
    clusterrolebinding.rbac.authorization.k8s.io/instana-operator-webhook                     ClusterRole/instana-operator-webhook  28h
    validatingwebhookconfiguration.admissionregistration.k8s.io/instana-operator-webhook-validating   2   28h

    나열된 리소스를 삭제하십시오:

    kubectl delete \
      clusterrole/instana-operator \
      clusterrole/instana-operator-webhook \
      clusterrolebinding/instana-operator \
      clusterrolebinding/instana-operator-webhook \
      validatingwebhookconfiguration/instana-operator-webhook-validating

결과

커스텀 에디션이 제거되었습니다. 클러스터에서 모든 사용자 정의 리소스, 연산자, 데이터 스토어 구성 요소, 네임스페이스, CRD 및 RBAC 리소스가 제거됩니다.