Retirar una organización híbrida

En este documento se describen los pasos para retirar una organización de una implementación híbrida. Desactivar una organización significa eliminar todos los datos relacionados con la organización en todos los pods de Cassandra de todos los clústeres de Kubernetes.

Limitaciones

Solo se puede retirar una organización a la vez. No se admite la retirada de varias organizaciones simultáneamente.

Obtener el nombre de la organización

Para usar algunos comandos de estas instrucciones, debes utilizar un nombre de organización con el formato correcto.

Para obtener el nombre de la organización y usarlo en los comandos de esta página, haz lo siguiente:

  1. Obtén el nombre de la organización del archivo overrides.yaml de la organización.
  2. Si el nombre de la organización contiene guiones ("-"), sustitúyelos por guiones bajos ("_").

Instrucciones

Sigue estas instrucciones para retirar una organización de una implementación híbrida.

  1. Crear una copia de seguridad de la organización
    1. Si aún no lo has hecho, habilita las copias de seguridad en la implementación híbrida. En las configuraciones multirregionales, usa el despliegue híbrido que opere en la región principal. Consulta la información general sobre las copias de seguridad de Cassandra para obtener información sobre las copias de seguridad híbridas.
    2. Activa una tarea de copia de seguridad híbrida con el siguiente comando:

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

      BACKUP_JOB_NAME puede ser cualquier nombre de contenedor válido.

    3. Una vez que se haya completado el trabajo de copia de seguridad, sigue las instrucciones de las secciones "Comprobar el estado del trabajo de copia de seguridad" y "Consultar los registros de copia de seguridad" del artículo Monitorizar copias de seguridad para verificar que la copia de seguridad se ha realizado correctamente.

  2. (Opcional) Si has configurado la telemetría de Apigee (métricas y registrador) en la organización que se va a eliminar, sigue estos pasos para volver a configurarla de forma que las métricas y los datos de registro se apliquen a una nueva organización o proyecto.
    1. Ejecuta este comando en la organización a la que quieras enviar los datos. Asegúrate de usar el archivo overrides.yaml de la organización. Por ejemplo, si la organización que se va a retirar es "test-dev", el archivo overrides.yaml debe contener un campo org: test-dev org.
      helm upgrade telemetry apigee-telemetry/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f OVERRIDES_FILE.yaml
      
    2. Ejecuta este comando y asegúrate de usar la organización o el proyecto correctos:
      kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
  3. Elimina los recursos de Kubernetes de la organización de la implementación híbrida.
    1. Verifica que el contexto actual sea el correcto para el clúster de Kubernetes de origen:
      kubectl config current-context

      Si es necesario, define el contexto de Kubernetes.

      Lista los contextos actuales para ver el nombre de contexto de cada clúster:

      kubectl config get-contexts

      Define el contexto del clúster y la región que quieras retirar:

      kubectl config use-context CONTEXT_NAME

      Donde CONTEXT_NAME es el nombre del contexto del clúster y la región.

      Por ejemplo:

          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. Elimina el host virtual.

      Repite este proceso con cada grupo de entornos:

      helm -n APIGEE_NAMESPACE delete ENV_GROUP_NAME
      
    3. Elimina los entornos. Repite este proceso con cada entorno:
      helm -n APIGEE_NAMESPACE delete ENV_NAME
      
    4. Elimina la organización de Apigee.
      helm -n APIGEE_NAMESPACE delete ORG_NAME
      
  4. Elimina los datos de la organización de la implementación híbrida. Una vez completado este paso, todos los datos de la organización se eliminarán de la implementación híbrida.
    1. Ejecuta el comando en el pod apigee-cassandra-default-0:
      kubectl exec -it -n APIGEE_NAMESPACE apigee-cassandra-default-0 -- /bin/bash
      
    2. Ejecuta el siguiente comando. Copia la lista de todos los nombres que se muestran en el resultado. Necesitará esta lista más adelante.
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"

      Consulta Obtener el nombre de la organización para ver las instrucciones sobre cómo encontrar y preparar el ORG_NAME.

      Sal del pod apigee-cassandra-default-0.

    3. Crea un pod de cliente de depuración de Cassandra tal como se describe en Crear un contenedor de cliente para depuración. Ve al siguiente paso después de recibir una petición cqlsh.
    4. Ejecuta los siguientes comandos en el símbolo del sistema cqlsh:
      desc keyspaces;

      Asegúrate de que este comando no devuelva ningún error.

      Para cada nombre de la lista que has creado antes a partir de apigee apigee-cassandra-default-0, ejecuta los siguientes comandos:

      drop keyspace KEYSPACE_NAME;

      Sal del pod del cliente de depuración de Cassandra.

    5. Realiza un reinicio gradual de todos los pods de Cassandra. Los pods de Cassandra se pueden reiniciar en cualquier orden, siempre que solo se reinicie un pod de Cassandra a la vez. En las implementaciones multirregionales, realiza un reinicio gradual en todos los pods de Cassandra de cada región híbrida.

      Ejecuta el siguiente comando y comprueba que el estado sea "Running":

      kubectl get apigeeds -n APIGEE_NAMESPACE

      Reinicia un solo pod de Cassandra con el siguiente comando:

      kubectl delete pod -n APIGEE_NAMESPACE CASSANDRA_POD_NAME

      Espera a que el pod alcance el estado Running con el siguiente comando:

      kubectl get pods -n APIGEE_NAMESPACE

      Reinicia el siguiente pod de Cassandra.

    6. Después de ejecutar los comandos cqlsh, ejecuta los siguientes comandos en todos los pods de Cassandra de la implementación híbrida. En las implementaciones híbridas multirregionales, ejecuta los comandos en todos los pods de Cassandra de todas las regiones 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

      Consulta Obtener el nombre de la organización para ver las instrucciones sobre cómo encontrar y preparar el ORG_NAME.

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