Excluir ambientes

Neste tópico, explicamos como excluir ambientes na Apigee híbrida. Consulte também Sobre ambientes e grupos de ambiente.

Sobre a exclusão de ambientes

A exclusão do ambiente é o inverso da criação do ambiente e inclui as seguintes tarefas:

  • Remova os componentes do ambiente de execução do ambiente do cluster e remova o ambiente do arquivo de substituições.
  • Exclua o ambiente do plano de gerenciamento usando a IU da Apigee ou a API Delete Environments.

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:

...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
      runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
      udca: "your_keypath/PROJECT_ID-apigee-udca.json"
  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
      runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
      udca: "your_keypath/PROJECT_ID-apigee-udca.json"
...

Para excluir o ambiente prod, siga estas etapas:

  1. Receba as credenciais de autenticação da gcloud:
    TOKEN=$(gcloud auth print-access-token)
  2. Como precaução, remova o ambiente de cada grupo de ambientes ao qual ele está anexado. Isso impede que o tráfego seja roteado para o ambiente antes de remover os componentes do ambiente de execução.
    1. Liste os anexos do grupo de ambientes e anote o name (ID do anexo) do anexo em que environment é prod:

      Sem residência de dados

      curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"

      Residência de dados

      curl -H "Authorization: Bearer $TOKEN" \
        "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"

      O resultado será o seguinte:

      {
        "environmentGroupAttachments": [
          {
            "name": "f6f2958f-a0a1-4260-b9e9-80eead82ff1d",
            "environment": "prod",
            "createdAt": "1789700385118",
            "environmentGroupId": "ENV_GROUP"
          }
        ]
      }
    2. Exclua o anexo:

      Sem residência de dados

      curl -X DELETE -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"

      Residência de dados

      curl -X DELETE -H "Authorization: Bearer $TOKEN" \
        "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"

    Em que:

    • ORG_NAME é o nome da organização da Apigee;
    • ENV_GROUP é o nome do grupo de ambiente.
    • ATTACHMENT_ID é o name do anexo retornado na etapa anterior. Esse é um ID gerado, não o nome do ambiente.
    • CONTROL_PLANE_LOCATION é o local do plano de controle da sua organização se você usa a residência de dados.

    Repita essas etapas para cada grupo de ambiente ao qual o ambiente está anexado.

  3. Faça uma simulação para testar a remoção dos componentes do ambiente de execução:
    helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE --dry-run
    
    • ENV_RELEASE_NAME é o nome com que você instalou anteriormente o gráfico apigee-env para esse ambiente. Geralmente, é o mesmo que o nome do ambiente. Para listar os nomes de versões no namespace, execute helm list -n APIGEE_NAMESPACE.
    • APIGEE_NAMESPACE é o namespace em que você instalou a Apigee híbrida, apigee por padrão.

    A opção --dry-run simula a desinstalação sem remover nada, e a saída é igual à da desinstalação real. Ao contrário de helm upgrade, helm delete não aceita um valor para --dry-run, como --dry-run=server. Exemplo:

    helm delete prod -n apigee --dry-run
    release "prod" uninstalled
  4. Se a simulação não tiver erros, remova os componentes do ambiente de execução:
    helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE
    
  5. Abra o arquivo de modificações e remova a definição de ambiente prod de envs, deixando apenas a definição test. Exemplo:
    ...
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
          runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
          udca: "your_keypath/PROJECT_ID-apigee-udca.json"
    ...
  6. Salve o arquivo.
  7. Exclua o ambiente do plano de gerenciamento. Use a IU da Apigee ou a API Delete environments.

    IU da Apigee

    1. No console do Google Cloud , acesse a página Apigee > Gerenciamento > Ambientes.

      Acessar "Ambientes"

    2. Selecione o projeto da sua organização da Apigee.
    3. Na linha do ambiente prod, clique em Ações > Excluir.

    API

    Sem residência de dados:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"

    Residência de dados:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"

    A chamada retorna uma operação de longa duração. A exclusão pode levar alguns minutos para ser concluída.