Desativação de uma organização híbrida

Neste documento, descrevemos as etapas para desativar uma organização em uma implantação híbrida. Desativar uma organização significa excluir todos os dados relacionados à organização em todos os pods do Cassandra em todos os clusters do Kubernetes.

Limitações

Só é possível desativar uma organização por vez. A desativação simultânea de várias organizações não é compatível.

Encontrar o nome da organização

Alguns comandos destas instruções exigem o uso de um nome de organização formatado adequadamente.

Para conseguir o nome da organização para uso em comandos nesta página:

  1. Recupere o nome da organização do arquivo overrides.yaml da organização.
  2. Se o nome da organização tiver traços ("-"), substitua-os por sublinhados ("_").

Instruções

Siga estas instruções para desativar uma organização em uma implantação híbrida.

  1. Fazer backup da organização
    1. Se ainda não estiver ativado, ative os backups na implantação híbrida. Nas configurações multirregionais, use a implantação híbrida que opera na região primária. Consulte a Visão geral do backup do Cassandra para conferir informações sobre backups híbridos.
    2. Acione um job de backup híbrido usando o seguinte comando:

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

      O BACKUP_JOB_NAME pode ser qualquer nome de contêiner válido.

    3. Depois que o job de backup for concluído, use as instruções "Verificar o status do job de backup" e "Verificar os registros de backup" em Como monitorar backups para verificar se o backup foi bem-sucedido.

  2. (Opcional) Se você tiver configurado a telemetria de Apigee (métricas e logger) na organização para ser excluída, siga estas etapas para reconfigurá-las para que as métricas e os dados de registro se apliquem a uma nova organização/projeto.
    1. Execute este comando para a organização para que você quer enviar os dados. Use o arquivo overrides.yaml da organização. Por exemplo, se a organização a ser desativada for "test-dev", o arquivo overrides.yaml precisará conter um campo da organização org: test-dev.
      helm upgrade telemetry apigee-telemetry/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f OVERRIDES_FILE.yaml
      
    2. Execute este comando, certificando-se de usar a organização/projeto correto:
      kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
  3. Exclua os recursos do Kubernetes da organização da implantação híbrida.
    1. Verifique se o contexto atual é o contexto correto para o cluster de origem do Kubernetes:
      kubectl config current-context

      Se necessário, defina o contexto do Kubernetes.

      Liste seus contextos atuais para ver o nome de contexto de cada cluster:

      kubectl config get-contexts

      Defina o contexto como o cluster e a região que você quer desativar:

      kubectl config use-context CONTEXT_NAME

      Em que CONTEXT_NAME é o nome do contexto do cluster e da região.

      Exemplo:

          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. Exclua o virtualhost.

      Repita isso para cada grupo de ambiente:

      helm -n APIGEE_NAMESPACE delete ENV_GROUP_NAME
      
    3. Exclua os ambientes. Repita isso para cada ambiente:
      helm -n APIGEE_NAMESPACE delete ENV_NAME
      
    4. Exclua a organização da Apigee.
      helm -n APIGEE_NAMESPACE delete ORG_NAME
      
  4. Exclua os dados da organização da implantação híbrida. Depois que essa etapa for concluída, todos os dados da organização serão removidos da implantação híbrida.
    1. Exec no pod apigee-cassandra-default-0:
      kubectl exec -it -n APIGEE_NAMESPACE apigee-cassandra-default-0 -- /bin/bash
      
    2. Execute o comando a seguir: Copie a lista com todos os nomes exibidos na saída. A lista será necessária mais tarde.
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"

      Consulte Instalar o nome da organização para conferir instruções sobre como encontrar e preparar o ORG_NAME.

      Saia do pod apigee-cassandra-default-0.

    3. Crie um pod de cliente de depuração do Cassandra conforme descrito em Criar um contêiner de cliente para depuração. Passe para a próxima etapa depois de receber uma solicitação cqlsh.
    4. Execute os seguintes comandos no prompt cqlsh:
      desc keyspaces;

      Verifique se esse comando não retorna erros.

      Para cada nome na lista criada anteriormente na apigee apigee-cassandra-default-0, execute os seguintes comandos:

      drop keyspace KEYSPACE_NAME;

      Saia do pod de cliente de depuração do Cassandra.

    5. Execute uma reinicialização gradual de todos os pods do Cassandra. A reinicialização dos pods do Cassandra pode ser feita em qualquer ordem, desde que apenas um pod do Cassandra seja reiniciado por vez. Para implantações multirregionais, execute uma reinicialização gradual em todos os pods do Cassandra em cada região híbrida.

      Execute o seguinte comando e verifique se o estado mostra "Em execução":

      kubectl get apigeeds -n APIGEE_NAMESPACE

      Reinicie um pod do Cassandra com o seguinte comando:

      kubectl delete pod -n APIGEE_NAMESPACE CASSANDRA_POD_NAME

      Aguarde até que o pod alcance o estado Running usando:

      kubectl get pods -n APIGEE_NAMESPACE

      Reinicie o próximo pod do Cassandra.

    6. Depois de executar os comandos cqlsh, execute os seguintes comandos em todos os pods do Cassandra na implantação híbrida. Para implantações híbridas em várias regiões, execute os comandos em todos os pods do Cassandra em todas as regiões híbridas.
      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

      Consulte Instalar o nome da organização para conferir instruções sobre como encontrar e preparar o ORG_NAME.

      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
    7. Saia do pod do Cassandra.