하이브리드 조직 사용 중단

이 문서에서는 하이브리드 배포에서 조직을 사용 중단하는 단계를 간략하게 설명합니다. 조직을 해제하는 것은 모든 Kubernetes 클러스터의 모든 Cassandra 포드에서 조직과 관련된 모든 데이터를 삭제하는 것을 의미합니다.

제한사항

한 번에 조직 한 개만 해제할 수 있습니다. 여러 조직을 동시에 해제하는 것은 지원되지 않습니다.

조직 이름 가져오기

이 안내의 일부 명령어를 실행하려면 올바른 형식의 조직 이름을 사용해야 합니다.

이 페이지의 명령어에 사용할 조직 이름을 가져오려면 다음을 수행하세요.

  1. 조직의 overrides.yaml 파일에서 조직 이름을 검색합니다.
  2. 조직 이름에 대시('-')가 포함되어 있으면 밑줄('_')로 바꿉니다.

안내

하이브리드 배포에서 조직을 사용 중단하려면 다음 안내를 따르세요.

  1. 조직 백업
    1. 아직 사용 설정되어 있지 않으면 하이브리드 배포에서 백업을 사용 설정합니다. 멀티 리전 설정에서는 운영 리전에서 작동하는 하이브리드 배포를 사용합니다. 하이브리드 백업에 대한 자세한 내용은 Cassandra 백업 개요를 참조하세요.
    2. 다음 명령어를 사용하여 하이브리드 백업 작업을 트리거합니다.

      kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup BACKUP_JOB_NAME

      BACKUP_JOB_NAME은 유효한 컨테이너 이름일 수 있습니다.

    3. 백업 작업이 완료되면 백업 모니터링의 '백업 작업 상태 점검' 및 '백업 로그 확인' 안내에 따라 백업이 성공했는지 확인합니다.

  2. (선택사항) 조직에서 Apigee 원격 분석(측정항목 및 Logger)을 삭제하도록 구성한 경우 다음 단계에 따라 측정항목 및 로그 데이터가 새 조직/프로젝트에 적용되도록 재구성합니다.
    1. 데이터를 전송하려는 조직에 대해 이 명령어를 실행합니다. 조직의 overrides.yaml 파일을 사용해야 합니다. 예를 들어 해제할 조직이 'test-dev'인 경우 overrides.yaml 파일에 org: test-dev 조직 필드가 포함되어야 합니다.
      helm upgrade telemetry apigee-telemetry/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f OVERRIDES_FILE.yaml
      
    2. 올바른 조직/프로젝트를 사용하여 이 명령어를 실행합니다.
      kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
  3. 하이브리드 배포에서 조직의 Kubernetes 리소스를 삭제합니다.
    1. 현재 컨텍스트가 소스 Kubernetes 클러스터에 올바른 컨텍스트인지 확인합니다.
      kubectl config current-context

      필요한 경우 Kubernetes 컨텍스트를 설정합니다.

      현재 컨텍스트를 나열하여 각 클러스터의 컨텍스트 이름을 확인합니다.

      kubectl config get-contexts

      컨텍스트를 사용 중단하려는 클러스터와 리전으로 설정합니다.

      kubectl config use-context CONTEXT_NAME

      여기서 CONTEXT_NAME은 클러스터 및 리전의 컨텍스트 이름입니다.

      예를 들면 다음과 같습니다.

          kubectl config get-contexts
          CURRENT   NAME                                                   CLUSTER                                                AUTHINFO                                               NAMESPACE
                    gke_example-org-1_us-central1_example-cluster-1        gke_example-org-1_us-central1_example-cluster-1        gke_example-org-1_us-central1_example-cluster-1        apigee
          *         gke_example-org-1_us-central1_example-cluster-2        gke_example-org-1_us-central1_example-cluster-2        gke_example-org-1_us-central1_example-cluster-2        apigee
                    gke_example-org-1_us-west1_example-cluster-2           gke_example-org-1_us-west1_example-cluster-2           gke_example-org-1_us-west1_example-cluster-2           apigee
      
          kubectl config use-context gke_example-org-1_us-west1_example-cluster-2
    2. virtualhost를 삭제합니다.

      각 환경 그룹에 대해 이를 반복합니다.

      helm -n APIGEE_NAMESPACE delete ENV_GROUP_NAME
      
    3. 환경을 삭제합니다. 각 환경에 대해 이를 반복합니다.
      helm -n APIGEE_NAMESPACE delete ENV_NAME
      
    4. Apigee 조직을 삭제합니다.
      helm -n APIGEE_NAMESPACE delete ORG_NAME
      
  4. 하이브리드 배포에서 조직 데이터를 삭제합니다. 이 단계가 완료되면 모든 조직 데이터가 하이브리드 배포에서 사라집니다.
    1. apigee-cassandra-default-0 포드에 실행합니다.
      kubectl exec -it -n APIGEE_NAMESPACE apigee-cassandra-default-0 -- /bin/bash
      
    2. 다음 명령어를 실행합니다. 출력에 표시된 모든 이름의 목록을 복사합니다. 이 목록은 나중에 필요합니다.
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"

      ORG_NAME을 찾고 준비하는 방법은 조직 이름 가져오기를 참조하세요.

      apigee-cassandra-default-0 포드를 종료합니다.

    3. 디버깅용 클라이언트 컨테이너 만들기에 설명된 대로 Cassandra 디버그 클라이언트 포드를 만듭니다. cqlsh 프롬프트가 표시되면 다음 단계로 이동합니다.
    4. cqlsh 프롬프트에서 다음 명령어를 실행합니다.
      desc keyspaces;

      이 명령어가 오류를 반환하지 않는지 확인합니다.

      이전에 apigee apigee-cassandra-default-0에서 만든 목록의 각 이름에 대해 다음 명령어를 실행합니다.

      drop keyspace KEYSPACE_NAME;

      Cassandra 디버그 클라이언트 포드를 종료합니다.

    5. 모든 Cassandra 포드의 순차적 재시작을 수행합니다. Cassandra 포드가 한 번에 하나만 다시 시작되는 경우에 한해 순서에 관계없이 Cassandra 포드를 재시작할 수 있습니다. 멀티 리전 배포의 경우 각 하이브리드 리전의 모든 Cassandra 포드에서 순차적 재시작을 수행합니다.

      다음 명령어를 실행하고 상태가 '실행 중'으로 표시되는지 확인합니다.

      kubectl get apigeeds -n APIGEE_NAMESPACE

      다음 명령어를 사용하여 단일 Cassandra 포드를 다시 시작합니다.

      kubectl delete pod -n APIGEE_NAMESPACE CASSANDRA_POD_NAME

      다음을 사용하여 포드가 Running 상태가 될 때까지 기다립니다.

      kubectl get pods -n APIGEE_NAMESPACE

      다음 Cassandra 포드를 다시 시작합니다.

    6. cqlsh 명령어를 실행한 후 하이브리드 배포의 모든 Cassandra 포드에서 다음 명령어를 실행합니다. 멀티 리전 하이브리드 배포의 경우 모든 하이브리드 리전의 모든 Cassandra 포드에서 명령어를 실행합니다.
      kubectl exec -it -n APIGEE_NAMESPACE CASSANDRA_POD_NAME -- /bin/bash
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2

      ORG_NAME을 찾고 준비하는 방법은 조직 이름 가져오기를 참조하세요.

      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
    7. Cassandra 포드를 종료합니다.