- 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 programar copias de seguridad de Cassandra sin Cloud Storage. En este método, las copias de seguridad se almacenan en un servidor remoto que especifiques en lugar de en un segmento de Cloud Storage. Apigee usa SSH para comunicarse con el servidor remoto.
Debes programar las copias de seguridad como tareas cron
. Una vez que se ha aplicado una programación de copias de seguridad a tu clúster híbrido, se ejecuta periódicamente un trabajo de copia de seguridad de Kubernetes según la programación del plano de tiempo de ejecución. La tarea activa una secuencia de comandos de copia de seguridad en cada nodo de Cassandra de tu clúster híbrido que recoge todos los datos del nodo, crea un archivo (comprimido) de los datos y envía el archivo al servidor especificado en el archivo overrides.yaml
.
En los pasos que se indican a continuación se incluyen ejemplos habituales para completar tareas específicas, como crear un par de claves SSH. Usa los métodos adecuados para tu instalación.
El procedimiento consta de las siguientes partes:
Configurar el servidor y SSH
- Designa un servidor Linux o Unix para tus copias de seguridad. Se debe poder acceder a este servidor mediante SSH desde tu plano de tiempo de ejecución de Apigee hybrid. Debe tener suficiente almacenamiento para tus copias de seguridad.
- Configura un servidor SSH en el servidor o asegúrate de que tenga configurado un servidor SSH seguro.
- Crea un par de claves SSH y almacena el archivo de clave privada en una ruta a la que se pueda acceder desde tu plano de ejecución híbrido. Debes usar una contraseña en blanco para tu par de claves o la copia de seguridad fallará. Por ejemplo:
ssh-keygen -t rsa -b 4096 -C exampleuser@example.com
Enter file in which to save the key (/Users/exampleuser/.ssh/id_rsa): $APIGEE_HOME/hybrid-files/certs/ssh_key Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in ssh_key Your public key has been saved in ssh_key.pub The key fingerprint is: SHA256:DWKo334XMZcZYLOLrd/8HNpjTERPJJ0mc11UYmrPvSA exampleuser@example.com The key's randomart image is: +---[RSA 4096]----+ | +. ++X| | . . o.=.*+| | . o . . o==o | | . . . =oo+o...| | . S +E oo .| | . . .. . o .| | . . . . o.. | | . ...o ++. | | .. .. +o+. | +----[SHA256]-----+Donde exampleuser@example.com es una cadena. Cualquier cadena que siga a
-C
en el comandossh-keygen
se convierte en un comentario incluido en la clavessh
recién creada. La cadena de entrada puede ser cualquier cadena. Si usas un nombre de cuenta con el formato exampleuser@example.com, puedes identificar rápidamente a qué cuenta corresponde la clave. - Crea una cuenta de usuario en el servidor de copia de seguridad con el nombre
apigee
. Asegúrate de que el nuevo usuario deapigee
tenga un directorio principal en/home
. - En el servidor de copia de seguridad, crea un directorio
.ssh
en el nuevo directorio/home/apigee
. - Copia la clave pública (
ssh_key.pub
en el ejemplo anterior) en un archivo llamadoauthorized_keys
en el nuevo directorio/home/apigee/.ssh
. Por ejemplo:cd /home/apigee
mkdir .ssh
cd .ssh
vi authorized_keys
- En el servidor de copia de seguridad, crea un directorio de copia de seguridad en el directorio
/home/apigee/
. El directorio de copia de seguridad puede ser cualquier directorio, siempre que el usuario deapigee
tenga acceso a él. Por ejemplo:cd /home/apigee
mkdir cassandra-backup
- Prueba la conexión. Debes asegurarte de que tus pods de Cassandra puedan conectarse a tu servidor de copia de seguridad mediante SSH:
- Inicia sesión en el shell de tu pod de Cassandra. Por ejemplo:
kubectl exec -it -n apigee APIGEE_CASSANDRA_DEFAULT_0 -- /bin/bash
Donde APIGEE_CASSANDRA_DEFAULT_0 es el nombre de un pod de Cassandra. Cambia este valor por el nombre del pod al que quieras conectarte.
- Conéctate mediante SSH a tu servidor de copia de seguridad con la clave SSH privada montada en el pod de Cassandra y la dirección IP del servidor:
ssh -i /var/secrets/keys/key apigee@BACKUP_SERVER_IP
- Inicia sesión en el shell de tu pod de Cassandra. Por ejemplo:
Definir la programación y el destino de la copia de seguridad
Tú decides la programación y el destino de las copias de seguridad en tu archivo overrides.yaml
.
- Añade los siguientes parámetros al archivo
overrides.yaml
:Parámetros
cassandra: backup: enabled: true 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
cassandra: backup: enabled: true 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 backup:enabled
La copia de seguridad está inhabilitada de forma predeterminada. Debe asignar el valor true
a esta propiedad.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
GCP/HYBRID
Para una copia de seguridad de Cloud Storage, asigna el valor
GCP
a la propiedad. Por ejemplo,cloudProvider: "GCP"
.Para crear una copia de seguridad de un servidor remoto, asigna el valor
HYBRID
a la propiedad. Por ejemplo,cloudProvider: "HYBRID"
.backup:schedule
SCHEDULE
Hora en la que se inicia la copia de seguridad, especificada en la sintaxis estándar de crontab. Predeterminado:
0 2 * * *
- Usa
apigeectl
para aplicar la configuración de la copia de seguridad al ámbito de almacenamiento de tu clúster:$APIGEECTL_HOME/apigeectl apply --datastore -f YOUR_OVERRIDES_FILE
Donde YOUR_OVERRIDES_FILE es la ruta del archivo de anulaciones que acabas de editar.
- Verifica el trabajo de copia de seguridad. Por ejemplo:
kubectl get cronjob -n apigee
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE apigee-cassandra-backup 33 * * * * False 0 <none> 94s