Crea copias de seguridad de clústeres avanzados y restablecelos con gkectl

En este documento, se describe cómo crear copias de seguridad y restablecer los clústeres de administrador y de usuario de Google Distributed Cloud versión 1.32 y posteriores que tienen habilitado el clúster avanzado. La función de copia de seguridad y restablecimiento está en versión preliminar en la versión 1.32 y en DG en la versión 1.33 y posteriores.

El proceso de copia de seguridad y restablecimiento de gkectl no incluye volúmenes persistentes. Los volúmenes creados por el aprovisionador de volumen local (LVP) no se modifican.

Crea una copia de seguridad de un clúster

El comando gkectl backup cluster agrega la información del clúster del almacén de etcd y los certificados de PKI para el clúster especificado a un archivo tar. El almacén de etcd es el almacenamiento de copia de seguridad de Kubernetes para todos los datos del clúster y contiene todos los objetos de Kubernetes y objetos personalizados requeridos para administrar el estado del clúster. Los certificados de PKI se usan para la autenticación con seguridad de la capa de transporte (TLS). Estos datos tienen copia de seguridad desde el plano de control del clúster o en uno de los planos de control para una implementación con alta disponibilidad (HA).

El archivo tar de copia de seguridad contiene credenciales sensibles, incluidas las claves de tu cuenta de servicio y la clave SSH. Almacena los archivos de copia de seguridad en una ubicación segura. Para evitar una exposición accidental de archivos, el proceso de copia de seguridad solo usa archivos en la memoria.

Realiza una copia de seguridad de tus clústeres con regularidad para asegurarte de que tus datos de instantáneas sean relativamente actuales. Ajusta la velocidad de las copias de seguridad para reflejar la frecuencia de los cambios significativos en los clústeres.

Antes de comenzar, asegúrate de que tu clúster funcione correctamente, con credenciales de trabajo y conectividad SSH a todos los nodos. El objetivo del proceso de copia de seguridad es capturar el clúster en un buen estado conocido para que puedas restablecer la operación si ocurre una falla catastrófica.

Para crear una copia de seguridad de un clúster, haz lo siguiente:

  1. Ejecuta el siguiente comando para verificar tu clúster:

    gkectl diagnose cluster --cluster-name CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: Es el nombre del clúster del que planeas crear una copia de seguridad.

    • ADMIN_KUBECONFIG por la ruta de acceso del archivo kubeconfig del clúster de administrador.

  2. Ejecuta el comando correspondiente para crear una copia de seguridad del clúster:

    Clúster de administrador

    gkectl backup admin --kubeconfig ADMIN_KUBECONFIG
    

    Clúster de usuario

    gkectl backup cluster --cluster-name CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

De forma predeterminada, el archivo tar de copia de seguridad se guarda en el directorio gkectl-workspace/backups de tu estación de trabajo de administrador. El archivo tar se llama CLUSTER_NAME_backup_TIMESTAMP.tar.gz, en el que CLUSTER_NAME es el nombre del clúster en el que se crea una copia de seguridad y TIMESTAMP es la fecha y hora en que se realizó la copia de seguridad. Por ejemplo, si el nombre del clúster es testuser, el archivo de copia de seguridad tiene un nombre como testuser_backup_2025-08-23T150405Z0700.tar.gz.

De manera opcional, puedes especificar un nombre y una ubicación diferentes para el archivo de copia de seguridad con la marca --backup-file, por ejemplo:

gkectl backup cluster testuser \
    --kubeconfig admin-cluster/kubeconfig \
    --backup-file cluster-backups/testuser-backup-aug-23-2025.tar.gz

El archivo de copia de seguridad se vence después de un año y el proceso de restablecimiento del clúster no funciona con los archivos de copia de seguridad vencidos.

Copia de seguridad en vSphere

Para configurar copias de seguridad de modo que el archivo de copia de seguridad de los clústeres de administrador y de usuario se suba a vSphere, además de guardarse en tu estación de trabajo de administrador, haz lo siguiente:

  1. Agrega el campo clusterBackup.datastore al archivo de configuración del clúster de administrador:

    clusterBackup:
        datastore: DATASTORE
    

    Reemplaza DATASTORE por el almacén de datos en el que deseas almacenar la copia de seguridad. El almacén de datos debe estar en el mismo centro de datos que el clúster de administrador. Las copias de seguridad se encuentran en el directorio anthos/CLUSTER_NAME/backup del almacén de datos especificado.

  2. Actualiza el clúster de administrador:

    gkectl update admin --kubeconfig ADMIN_KUBECONFIG \
        --config ADMIN_CONFIG
    

    Reemplaza lo siguiente:

    • ADMIN_KUBECONFIG por la ruta de acceso del archivo kubeconfig del clúster de administrador.

    • ADMIN_CONFIG: Es la ruta de acceso al archivo de configuración del clúster de administrador.

De forma predeterminada, el comando gkectl backup guarda los tres archivos de copia de seguridad más recientes en vSphere y borra los archivos de copia de seguridad más antiguos. Si quieres conservar los archivos de copias de seguridad anteriores, agrega la marca --keep-all-backups, que está disponible en la versión 1.32.100 y versiones posteriores.

Restablece un clúster

Restablecer un clúster desde una copia de seguridad es el último recurso y solo se debe usar cuando un clúster falla de manera catastrófica y no puede regresar al servicio de ninguna otra manera. Por ejemplo, los datos etcd están dañados o el Pod de etcd está en un bucle de falla.

Usa el comando gkectl restore solo si fallaron los tres nodos del plano de control.

  • Si solo falló un nodo y autoRepair.enabled está configurado como true en el archivo de configuración del clúster de administrador, el nodo con errores se repara automáticamente. Si autoRepair.enabled no está configurado, agrégalo al archivo de configuración del clúster de administrador y ejecuta gkectl update admin. Después de la actualización, el nodo se vuelve a crear automáticamente.

  • Si fallaron dos nodos del plano de control, consulta la sección Restablece el quórum en esta página.

El archivo tar de copia de seguridad contiene credenciales sensibles, incluidas las claves de tu cuenta de servicio y la clave SSH. Para evitar una exposición accidental de archivos, el proceso de restablecimiento de Google Distributed Cloud solo usa archivos en la memoria.

Antes de restablecer un clúster, asegúrate de que se cumplan las siguientes condiciones:

  • Todas las máquinas de nodo del plano de control que estaban disponibles para el clúster en el momento de la copia de seguridad funcionan de forma correcta y se puede acceder a ellas.
  • La conectividad SSH entre nodos funciona con las claves SSH que se usaron en el momento de la copia de seguridad. Estas claves SSH se restablecen como parte del proceso de restablecimiento.
  • Las claves de la cuenta de servicio que se usaron en el momento de la copia de seguridad aún están activas. Estas claves de cuenta de servicio se restablecen para el clúster restablecido.

Para restablecer un clúster, haz lo siguiente:

  1. Ejecuta el comando correspondiente para restablecer el clúster:

    Clúster de administrador

    gkectl restore admin --backup-file BACKUP_FILE \
        --config ADMIN_CONFIG
    

    Reemplaza lo siguiente:

    • BACKUP_FILE: la ruta de acceso y el nombre del archivo de copia de seguridad que usas.

    • ADMIN_CONFIG: Es la ruta de acceso al archivo de configuración del clúster de administrador.

    Clúster de usuario

    gkectl restore cluster --cluster-name CLUSTER_NAME \
        --backup-file BACKUP_FILE \
        --kubeconfig ADMIN_KUBECONFIG
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster que deseas restablecer.

    • BACKUP_FILE: la ruta de acceso y el nombre del archivo de copia de seguridad que usas.

    • ADMIN_KUBECONFIG es la ruta al archivo kubeconfig del clúster de administrador.

    Al final del proceso de restablecimiento, se genera un archivo kubeconfig nuevo para el clúster restablecido en el directorio del espacio de trabajo gkectl-workspace.

  2. Cuando finalice el restablecimiento, ejecuta el siguiente comando para verificar que se haya realizado correctamente:

    gkectl diagnose cluster --cluster-name CLUSTER_NAME \
        --kubeconfig GENERATED_KUBECONFIG
    

    Reemplaza GENERATED_KUBECONFIG por el archivo kubeconfig generado.

Quórum de restablecimiento

Cuando fallan dos nodos del plano de control en un clúster, puedes usar el comando gkectl restore para restablecer el quórum. Cuando restableces el quórum, en lugar de especificar el archivo de copia de seguridad en el comando gkectl restore, debes especificar la dirección IP del nodo del plano de control en funcionamiento.

Antes de ejecutar el comando, asegúrate de que se cumplan las siguientes condiciones:

  • Hay un (y solo un) nodo del plano de control en funcionamiento.
  • Se puede acceder al nodo del plano de control en funcionamiento con la clave SSH. Para obtener más información, consulta Usa SSH para conectarte a un nodo del clúster.

Para restablecer el quórum, ejecuta el comando aplicable para tu tipo de clúster:

Clúster de administrador

gkectl restore admin --kubeconfig ADMIN_KUBECONFIG \
    --config ADMIN_CONFIG \
    --control-plane-node WORKING_NODE_IP \
    --ssh-key ADMIN_SSH_KEY_PATH

Reemplaza lo siguiente:

  • ADMIN_KUBECONFIG por la ruta de acceso del archivo kubeconfig del clúster de administrador.

  • ADMIN_CONFIG: Es la ruta de acceso al archivo de configuración del clúster de administrador.

  • WORKING_NODE_IP: Es la dirección IP del nodo del plano de control en funcionamiento.

  • ADMIN_SSH_KEY_PATH: Es la ruta de acceso a la clave SSH del clúster de administrador.

Clúster de usuario

gkectl restore cluster --cluster-name CLUSTER_NAME \
    --kubeconfig ADMIN_KUBECONFIG \
    --control-plane-node WORKING_NODE_IP \
    --ssh-key USER_SSH_KEY_PATH

Reemplaza lo siguiente:

  • CLUSTER_NAME: el nombre del clúster que deseas restablecer.

  • ADMIN_KUBECONFIG es la ruta al archivo kubeconfig del clúster de administrador.

  • WORKING_NODE_IP: Es la dirección IP del nodo del plano de control en funcionamiento.

  • USER_SSH_KEY_PATH: Es la ruta de acceso a la clave SSH del clúster de usuario.

Solucionar problemas

Si tienes problemas con el proceso de copia de seguridad o restablecimiento, las siguientes secciones pueden ayudarte a solucionar el problema.

Si necesitas asistencia adicional, comunícate con el equipo de Atención al cliente de Cloud.

Se agota la memoria durante una copia de seguridad o un restablecimiento

Si la estación de trabajo en la que ejecutas el comando gkectl no tiene mucha RAM, es posible que no tengas suficiente memoria para realizar el proceso de copia de seguridad o restauración. Si es necesario, crea y usa un disco de trabajo temporal para procesar las operaciones de copia de seguridad o restauración con el parámetro --use-disk en el comando de copia de seguridad. Para conservar los permisos de archivo, este parámetro modifica los permisos de los archivos, por lo que requiere que ejecutes el comando como usuario raíz (o que uses sudo).

La actualización de la clave SSH después de una copia de seguridad interrumpe el proceso de restablecimiento

Es posible que las operaciones relacionadas con SSH durante el proceso de restablecimiento fallen si la clave SSH se actualiza después de que se realizó una copia de seguridad. En este caso, la nueva clave SSH deja de ser válida para el proceso de restablecimiento. Para resolver este problema, puedes volver a agregar temporalmente la clave SSH original y, luego, realizar la restauración. Una vez que se complete el proceso de restablecimiento, puedes rotar la llave SSH.