Excluir ambientes

Neste tópico, explicamos como excluir ambientes. Para uma introdução, consulte Sobre ambientes e grupos de ambiente.

Sobre a exclusão de ambientes

Para excluir um ambiente corretamente, é preciso fazer várias alterações de configuração e aplicá-las ao cluster. Essas alterações incluem a remoção da definição do ambiente e das referências a ele do arquivo de modificações, a exclusão dos componentes synchronizer, runtime e udca e, por fim, a reaplicação das modificações para restaurar o cluster sem incluir o ambiente que você quer excluir.

Não é possível excluir o ambiente em apenas uma etapa porque os outros elementos, synchronizer, runtime e udca estão conectados a cada ambiente por meio das configurações internas. Você só poderá excluir um ambiente depois de excluí-las e aplicá-las novamente.

Como excluir um ambiente

Suponha que você tenha dois ambientes, test e prod. No seu arquivo de modificações, as definições podem ter esta aparência:

...
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
...

Para excluir o ambiente prod, siga estas etapas:

  1. Copie o arquivo de modificações original (o que contém as definições de ambiente prod e test), para um novo arquivo chamado, por exemplo, prod-delete.yaml.
  2. Abra prod-delete.yaml.
  3. Exclua a definição de ambiente test de envs e virtualhosts, deixando apenas as definições de prod. Por exemplo:
    ...
    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. Remova todo o restante do prod-delete.yaml exceto a configuração cassandra, se presente:

    Depois de fazer as alterações acima, o arquivo de modificações precisa estar parecido com este:

    ...
    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. Execute este comando para excluir os componentes especificados:
    apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
  6. Abra o arquivo de modificação original (que inclui as definições de ambiente de teste e produção).
  7. Exclua a definição de ambiente prod dos elementos envs e virtualhosts. Você quer que apenas a definição do ambiente test esteja presente no arquivo.
  8. Aplique o arquivo de modificações modificadas ao cluster. Esse comando recriará os elementos excluídos e, como ele foi omitido, não recriará o ambiente prod.
    apigeectl apply -f original-overrides.yaml -c runtime, udca, synchronizer
  9. Salve as alterações.

  10. Você não terminou. Agora, é necessário atualizar os ambientes na IU híbrida.

  11. Abra um navegador e acesse a IU híbrida na IU da Apigee.
  12. Remova o ambiente usando as etapas descritas em Excluir um ambiente atual na IU híbrida.