Desative uma organização híbrida

Este documento descreve os passos para desativar uma organização de uma implementação híbrida. A desativação de uma organização significa a eliminação de todos os dados relacionados com a organização em todos os pods do Cassandra em todos os clusters do Kubernetes.

Limitações

Só é possível desativar uma organização de cada vez. A desativação de várias organizações em simultâneo não é suportada.

Obtenha o nome da organização

Alguns comandos nestas instruções requerem que use um nome da organização formatado corretamente.

Para obter o nome da organização para utilização em comandos nesta página:

  1. Recupere o nome da organização do ficheiro overrides.yaml da organização.
  2. Se o nome da organização contiver travessões ("-"), substitua-os por sublinhados ("_").

Instruções

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

  1. Faça uma cópia de segurança da organização
    1. Se ainda não estiver ativada, ative as cópias de segurança na implementação híbrida. Em configurações multirregionais, use a implementação híbrida que opera na região principal. Consulte a secção Vista geral da cópia de segurança do Cassandra para ver informações sobre cópias de segurança híbridas.
    2. Acione uma tarefa de cópia de segurança híbrida através do seguinte comando:

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

      O elemento BACKUP_JOB_NAME pode ser qualquer nome de contentor válido.

    3. Assim que a tarefa de cópia de segurança estiver concluída, siga as instruções "Verifique o estado da tarefa de cópia de segurança" e "Verifique os registos de cópias de segurança" em Monitorizar cópias de segurança para verificar se a cópia de segurança foi bem-sucedida.

  2. (Opcional) Se configurou a telemetria do Apigee (métricas e registador) na organização a eliminar, siga estes passos para reconfigurá-los de modo que as métricas e os dados de registo se apliquem a uma nova organização/projeto.
    1. Execute este comando para a organização para a qual quer enviar os dados. Certifique-se de que usa o ficheiro overrides.yaml para a organização. Por exemplo, se a organização a desativar for "test-dev", o ficheiro overrides.yaml deve conter um campo de organização org: test-dev.
      helm upgrade telemetry apigee-telemetry/ \
        --namespace apigee \
        --atomic \
        -f OVERRIDES_FILE.yaml
      
    2. Execute este comando, certificando-se de que usa a organização/projeto correto:
      kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
  3. Elimine os recursos do Kubernetes da organização da implementação híbrida.
    1. Verifique se o contexto atual é o contexto correto para o cluster do Kubernetes de origem:
      kubectl config current-context

      Se necessário, defina o contexto do Kubernetes.

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

      kubectl config get-contexts

      Defina o contexto para o cluster e a região que quer desativar:

      kubectl config use-context CONTEXT_NAME

      Onde CONTEXT_NAME é o nome do contexto para o cluster e a região.

      Por 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. Elimine o anfitrião virtual.

      Repita este procedimento para cada grupo de ambientes:

      helm -n apigee delete ENV_GROUP_NAME
      
    3. Elimine os ambientes. Repita este procedimento para cada ambiente:
      helm -n apigee delete ENV_NAME
      
    4. Elimine a organização do Apigee.
      helm -n apigee delete ORG_NAME
      
  4. Elimine os dados da organização da implementação híbrida. Quando este passo estiver concluído, todos os dados da organização são removidos da implementação híbrida.
    1. Executar no agrupamento apigee-cassandra-default-0:
      kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
    2. Execute o seguinte comando. Copie a lista de todos os nomes apresentados no resultado. Vai precisar desta lista mais tarde.
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"

      Consulte o artigo Obtenha o nome da organização para ver 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 Crie um contentor de cliente para depuração. Avance para o passo seguinte depois de receber um comando cqlsh.
    4. Execute os seguintes comandos no comando cqlsh:
      desc keyspaces;

      Certifique-se de que este comando não devolve erros.

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

      drop keyspace ;

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

    5. Faça um reinício contínuo de todos os pods do Cassandra. Pode reiniciar os pods do Cassandra em qualquer ordem, desde que reinicie apenas um pod do Cassandra de cada vez. Para implementações multirregionais, faça um reinício contínuo em todos os pods do Cassandra em cada região híbrida.

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

      kubectl get apigeeds -n apigee

      Reinicie um único pod do Cassandra com o seguinte comando:

      kubectl delete pod -n apigee CASSANDRA_POD_NAME

      Aguarde que o pod atinja o estado Running com o seguinte comando:

      kubectl get pods -n apigee

      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 implementação híbrida. Para implementações híbridas multirregionais, execute os comandos em todos os pods do Cassandra em todas as regiões híbridas.
      kubectl exec -it -n apigee CASSANDRA_POD_NAME -- /bin/bash
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2

      Consulte o artigo Obtenha o nome da organização para ver 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.