환경 삭제

이 주제에서는 환경을 삭제하는 방법을 설명합니다. 소개는 환경 및 환경 그룹 정보를 참조하세요.

환경 삭제 정보

환경을 올바르게 삭제하려면 여러 구성 변경을 수행하고 이를 클러스터에 적용합니다. 이러한 변경에는 재정의 파일에서 환경 정이 및 참조를 삭제하고, synchronizer, runtime, udca 구획을 삭제하고, 마지막으로 삭제하려는 환경을 포함하지 않고 클러스터 복원을 위해 재정의를 다시 적용하는 것이 포함됩니다.

한 단계로 환경을 삭제할 수 없는 이유는 다른 요소인 synchronizer, runtime, udca가 내부 구성을 통해 각 환경에 연결되어 있기 때문입니다. 이들을 삭제한 후에 다시 적용해야만 환경을 올바르게 삭제할 수 있습니다.

환경 삭제 방법

testprod라는 두 가지 환경이 있다고 가정하겠습니다. 재정의 파일에 다음과 같이 정의가 표시될 수 있습니다.

...
virtualhosts:
  - name: default-test
    hostAliases: ["api-test.example.com"]
    sslCertPath: ./certs/fullchain-test.pem
    sslKeyPath: ./certs/privkey-test.pem
      env: test
  - name: default-prod
    hostAliases: ["api.example.com"]
    sslCertPath: ./certs/fullchain.pem
    sslKeyPath: ./certs/privkey.pem
      env: prod
...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...

prod 환경을 삭제하려면 다음 절차를 따르세요.

  1. 원본 재정의 파일(prodtest 환경 정의가 둘 다 포함된 파일)을 새 파일(예를 들어 prod-delete.yaml)에 복사합니다.
  2. prod-delete.yaml를 엽니다.
  3. envsvirtualhosts에서 prod 정의만 남기고 test 환경 정의를 삭제합니다. 예를 들면 다음과 같습니다.
    ...
    virtualhosts:
      - name: default-prod
        hostAliases: ["api.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
          env: prod
    ...
    envs:
      - name: prod
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    ...
  4. cassandra 구성이 있다면 이것만 제외하고 prod-delete.yaml에서 다른 모든 항목을 삭제합니다.

    위의 변경사항을 적용하면 재정의 파일이 다음과 같이 표시됩니다.

    ...
    virtualhosts:
      - name: default-prod
        hostAliases: ["api.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
          env: prod
    
    envs:
      - name: prod
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    
    cassandra:
      replicaCount: 3
      resources:
        requests:
          cpu: 3500m
          memory: 7Gi
      storage:
        storageClass: pd-ssd
        capacity: 10Gi
  5. 이 명령어를 실행하여 지정된 구성요소를 삭제합니다.
    apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
  6. 원본 재정의 파일을 엽니다(test 및 prod 환경 정의가 둘 다 포함된 파일).
  7. envsvirtualhosts 요소에서 prod 환경 정의를 삭제합니다. test 환경 정의만 파일에 두는 것이 좋습니다.
  8. 수정된 재정의 파일을 클러스터에 적용합니다. 이 명령어는 삭제된 요소를 다시 만들며, 이를 생략하면 prod 환경이 다시 생성되지 않습니다.
    apigeectl apply -f original-overrides.yaml -c runtime, udca, synchronizer
  9. 변경사항을 저장합니다.

  10. 아직 수행할 작업이 남았습니다. 이제 하이브리드 UI에서 환경을 업데이트해야 합니다.

  11. 브라우저를 열고 Apigee UI에서 하이브리드 UI로 이동합니다.
  12. 하이브리드 UI에서 기존 환경 삭제에 설명된 단계에 따라 환경을 삭제합니다.