- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
En esta página se describe cómo restaurar Cassandra en una sola región.
En una implementación de una sola región, Apigee hybrid se implementa en un único centro de datos o región. Si tienes varias organizaciones de Apigee en tu implementación, el proceso de restauración restaurará los datos de todas las organizaciones. En una configuración de varias organizaciones, no puedes restaurar una organización específica.
Restaurar una región a partir de una copia de seguridad
Elige las instrucciones que aparecen a continuación para la herramienta de gestión que estés usando en Apigee hybrid:
Helm
-
Actualiza los detalles de la restauración de Cassandra en el archivo
overrides.yaml
:namespace: YOUR_RESTORE_NAMESPACE # Use the same namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: false ...
Donde:
Propiedad Descripción namespace
YOUR_RESTORE_NAMESPACE
Espacio de nombres de la restauración. Usa el mismo espacio de nombres que en tu clúster original.
cassandra:hostNetwork
hostNetwork
es obligatorio y siempre debe tener el valorfalse
.restore:enabled
La restauración está inhabilitada de forma predeterminada. Debe asignar el valor true
a esta propiedad.restore:serviceAccountPath
SA_JSON_FILE_PATH
La ruta del sistema de archivos a la cuenta de servicio que has creado para la copia de seguridad.
restore:dbStorageBucket
CLOUD_STORAGE_BUCKET_PATH
Ruta del segmento de Cloud Storage en el que se almacenan los datos de la copia de seguridad, con el siguiente formato:
gs://BUCKET_NAME
. El campogs://
es obligatorio.restore:cloudProvider
GCP
La propiedad
cloudProvider: "GCP"
es obligatoria.restore:snapshotTimestamp
TIMESTAMP
Marca de tiempo de la copia de seguridad que se va a restaurar. Para comprobar qué marcas de tiempo se pueden usar, ve a
dbStorageBucket
y consulta los archivos que hay en el contenedor. Cada nombre de archivo contiene una marca de tiempo. Por ejemplo:backup_20210203213003_apigee-cassandra-default-0.tgz
Donde 20210203213003 es el valor de
snapshotTimestamp
que usarías si quisieras restaurar las copias de seguridad creadas en ese momento.backup:enabled
Debe asignar el valor false
a esta propiedad si se le había asignado el valortrue
anteriormente. -
Si no tienes un clúster limpio para empezar, sigue las instrucciones de la documentación Retirar una región híbrida para Helm para que tu instalación híbrida esté en un estado limpio (puedes dejar instalado Cert Manager). De esta forma, llegarás al mismo punto que si hubieras seguido el manual de configuración del tiempo de ejecución de Helm hasta el principio del paso 11.
-
Verifica que no queden pods en los espacios de nombres de Apigee:
kubectl get pods -n apigee
kubectl get pods -n apigee-system
-
Si utilizas copias de seguridad de CSI, asegúrate de que puedes ver las instantáneas de volumen que quieres usar en el proceso de restauración ejecutando el siguiente comando:
kubectl get volumesnapshot -n apigee
-
Instala todos los componentes de Hybrid uno a uno tal como se describe en el paso 11 del manual de instalación. Ten en cuenta que el pod
apigee-cassandra-restore
se creará cuando ejecutes el comando para instalardatastore
, pero solo pasará al estadorunning
después de instalar el componenteapigee-org
.
Consulte la descripción general de la copia de seguridad de Cassandra para obtener más información sobre la copia de seguridad y la restauración de Cassandra.
apigeectl
En tu configuración, la copia de seguridad de Cassandra puede residir en Cloud Storage o en un servidor remoto. En cualquier caso, sigue estos pasos para restaurar el contenido:
- Verifica la versión híbrida.
Asegúrate de que la versión sea la misma que creó los archivos de copia de seguridad en el almacenamiento.apigeectl version
- Confirma que el clúster de Kubernetes en el que vas a restaurar la copia de seguridad no tenga una instalación anterior de Apigee Hybrid. Si vas a restaurar el clúster, usa los siguientes comandos para eliminar la instalación de Apigee hybrid:
apigeectl delete -f overrides.yaml
kubectl -n apigee get apigeedatastore,apigeeredis,apigeetelemetry,org,env,arc # The output should be empty.
apigeectl delete --all -f overrides.yaml
- Abre el archivo
overrides.yaml
y asigna los valores que quieras a las propiedadesrestore
:Cloud Storage
Parámetros
namespace: YOUR_RESTORE_NAMESPACE # Use the same namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: false serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) schedule: "SCHEDULE"
Ejemplo
namespace: apigee cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my_cassandra_backup.json" dbStorageBucket: "gs://myname-cassandra-backup" cloudProvider: "GCP" snapshotTimestamp: "20201001183903" ... backup: enabled: false serviceAccountPath: "/Users/myhome/.ssh/my_cassandra_backup.json" dbStorageBucket: "gs://myname-cassandra-backup" cloudProvider: "GCP" schedule: "0 2 * * *" ...
Donde:
Propiedad Descripción namespace
YOUR_RESTORE_NAMESPACE
Espacio de nombres de la restauración. Usa el mismo espacio de nombres que en tu clúster original.
cassandra:hostNetwork
hostNetwork
es obligatorio y siempre debe tener el valorfalse
.restore:enabled
La restauración está inhabilitada de forma predeterminada. Debe asignar el valor true
a esta propiedad.restore:serviceAccountPath
SA_JSON_FILE_PATH
La ruta del sistema de archivos a la cuenta de servicio que has creado para la copia de seguridad.
restore:dbStorageBucket
CLOUD_STORAGE_BUCKET_PATH
Ruta del segmento de Cloud Storage en el que se almacenan los datos de la copia de seguridad, con el siguiente formato:
gs://BUCKET_NAME
. El campogs://
es obligatorio.restore:cloudProvider
GCP
La propiedad
cloudProvider: "GCP"
es obligatoria.restore:snapshotTimestamp
TIMESTAMP
Marca de tiempo de la copia de seguridad que se va a restaurar. Para comprobar qué marcas de tiempo se pueden usar, ve a
dbStorageBucket
y consulta los archivos que hay en el contenedor. Cada nombre de archivo contiene una marca de tiempo. Por ejemplo:backup_20210203213003_apigee-cassandra-default-0.tgz
Donde 20210203213003 es el valor de
snapshotTimestamp
que usarías si quisieras restaurar las copias de seguridad creadas en ese momento.backup:enabled
Debe asignar el valor false
a esta propiedad si se le había asignado el valortrue
anteriormente.backup:serviceAccountPath
SA_JSON_FILE_PATH
Ruta del archivo JSON de la cuenta de servicio en tu sistema de archivos que se descargó al ejecutar
./tools/create-service-account
backup:dbStorageBucket
CLOUD_STORAGE_BUCKET_PATH
La ruta del segmento de Cloud Storage con este formato:
gs://BUCKET_NAME
. El campogs://
es obligatorio.backup:cloudProvider
GCP
La propiedad
cloudProvider: "GCP"
es obligatoria.backup:schedule
SCHEDULE
Hora en la que se inicia la copia de seguridad, especificada en la sintaxis estándar de crontab. Predeterminado:
0 2 * * *
Almacenamiento que no es en la nube
Parámetros
namespace: YOUR_RESTORE_NAMESPACE # Use the same namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true keyFile: "PATH_TO_PRIVATE_KEY_FILE" server: "BACKUP_SERVER_IP" storageDirectory: "/home/apigee/BACKUP_DIRECTORY" cloudProvider: "HYBRID" # required verbatim "HYBRID" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: false keyFile: "PATH_TO_PRIVATE_KEY_FILE" server: "BACKUP_SERVER_IP" storageDirectory: "/home/apigee/BACKUP_DIRECTORY" cloudProvider: "HYBRID" # required verbatim "HYBRID" (all caps) schedule: "SCHEDULE"
Ejemplo
namespace: apigee cassandra: hostNetwork: false ... restore: enabled: true keyFile: "/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key" server: "34.56.78.90" storageDirectory: "/home/apigee/cassbackup" cloudProvider: "HYBRID" snapshotTimestamp: "20201001183903" ... backup: enabled: false keyFile: "/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key" server: "34.56.78.90" storageDirectory: "/home/apigee/cassbackup" cloudProvider: "HYBRID" schedule: "0 2 * * *" ...
Donde:
Propiedad Descripción namespace
YOUR_RESTORE_NAMESPACE
Espacio de nombres de la restauración. Usa el mismo espacio de nombres que en el clúster original.
cassandra:hostNetwork
hostNetwork
es obligatorio y siempre debe tener el valorfalse
.restore:enabled
La restauración está inhabilitada de forma predeterminada. Debe asignar el valor true
a esta propiedad.restore:keyFile
PATH_TO_PRIVATE_KEY_FILE
La ruta del archivo de clave privada SSH (llamado
ssh_key
en el paso en el que creaste el par de claves SSH) en tu sistema de archivos local.restore:server
BACKUP_SERVER_IP
La dirección IP de tu servidor de copia de seguridad.
restore:storageDirectory
BACKUP_DIRECTORY
Nombre del directorio de la copia de seguridad en el servidor de copias de seguridad. Debe ser un directorio de
home/apigee
(el directorio de copia de seguridad se llamacassandra_backup
en el paso en el que creaste el directorio de copia de seguridad).restore:cloudProvider
HYBRID
La propiedad
cloudProvider: "HYBRID"
es obligatoria.restore:snapshotTimestamp
TIMESTAMP
Marca de tiempo de la copia de seguridad que se va a restaurar. Para comprobar qué marcas de tiempo se pueden usar, ve a
dbStorageBucket
y consulta los archivos que hay en el contenedor. Cada nombre de archivo contiene una marca de tiempo. Por ejemplo:backup_20210203213003_apigee-cassandra-default-0.tgz
Donde 20210203213003 es el valor de
snapshotTimestamp
que usarías si quisieras restaurar las copias de seguridad creadas en ese momento.backup:enabled
Debes asignar el valor false
a esta propiedad si se le ha asignado el valortrue
anteriormente.backup:keyFile
PATH_TO_PRIVATE_KEY_FILE
La ruta del archivo de clave privada SSH en tu sistema de archivos local (llamado
ssh_key
en el paso en el que creaste el par de claves SSH).backup:server
BACKUP_SERVER_IP
La dirección IP de tu servidor de copia de seguridad.
backup:storageDirectory
BACKUP_DIRECTORY
Nombre del directorio de la copia de seguridad en el servidor de copias de seguridad. Debe ser un directorio de
home/apigee
(el directorio de copia de seguridad se llamacassandra_backup
en el paso en el que creaste el directorio de copia de seguridad).backup:cloudProvider
HYBRID
La propiedad
cloudProvider: "HYBRID"
es obligatoria.backup:schedule
SCHEDULE
Hora en la que se inicia la copia de seguridad, especificada en la sintaxis estándar de crontab. Predeterminado:
0 2 * * *
- Crea un nuevo despliegue de tiempo de ejecución híbrido. De esta forma, se creará un clúster de Cassandra y se empezarán a restaurar los datos de la copia de seguridad en el clúster:
${APIGEECTL_HOME}/apigeectl init -f overrides/overrides.yaml
${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml
${APIGEECTL_HOME}/apigeectl apply -f overrides/overrides.yaml --restore
${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml
Verifica el progreso del trabajo de restauración y confirma que apigeeds
y todos los demás pods están activos:
- Comprueba
apigeeds
:kubectl get apigeeds -n apigee
- Comprueba todos los demás pods:
kubectl get pods -n apigee
Una vez que se haya completado la restauración correctamente y se haya confirmado que los componentes del tiempo de ejecución están en buen estado, te recomendamos que configures una copia de seguridad en el clúster:
- Quita la configuración de
restore
del archivooverrides-restore.yaml
. - Añada la configuración de
backup
al archivooverrides-restore.yaml
. - Aplica la configuración
backup
con el siguiente comando:Helm
helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml
apigeectl
./apigeectl apply -f ../overrides.yaml