En esta página, se describe cómo crear un plan de copia de seguridad para GKE, que se usa a fin de crear una copia de seguridad de tus cargas de trabajo en Google Kubernetes Engine (GKE).
Los planes de copia de seguridad proporcionan las funciones de configuración, ubicación y administración de una secuencia de copias de seguridad. Un plan de copia de seguridad contiene una configuración de copia de seguridad que incluye el clúster de origen, la selección de las cargas de trabajo de las que se creará una copia de seguridad y la región en la que se almacenan los artefactos de copia de seguridad producidos en este plan.
Puedes crear uno o más planes de copia de seguridad para cada clúster. Existen dos motivos principales por los que es posible que desees tener más de un plan de copia de seguridad para un clúster:
- Deseas almacenar tus artefactos de copia de seguridad en varias regiones. En este caso, crea un plan de copia de seguridad para cada región en la que quieres almacenar las copias de seguridad.
Deseas particionar las copias de seguridad de tu clúster, por ejemplo:
- En lugar de una copia de seguridad muy grande tomada en un solo momento del día, quieres tener varias copias de seguridad más pequeñas distribuidas durante todo el día.
- Deseas crear copias de seguridad de algunas partes del clúster con más frecuencia que otras (como las copias de seguridad diarias de algunos espacios de nombres y las copias de seguridad por hora de otros).
Recomendamos que cada clúster tenga al menos un plan de copia de seguridad.
También te recomendamos definir un programa cron para el plan de copia de seguridad, de modo que las copias de seguridad se creen automáticamente según ese programa. También puedes crear una copia de seguridad manual de las cargas de trabajo. Después de crear un plan de copia de seguridad, puedes crear una copia de seguridad a partir de ese plan.
Antes de comenzar
Roles obligatorios
Para obtener los permisos que necesitas para crear y administrar un plan de copia de seguridad, pídele a tu administrador que te otorgue el administrador de copias de seguridad de GKE (roles/gkebackup.backupAdmin
), que es un subconjunto del rol de IAM de administrador de Copia de seguridad de GKE (roles/gkebackup.admin
) en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
También puedes obtener los permisos necesarios a través de funciones personalizadas o cualquier otro rol predefinido.
Crea un plan de creación de copias de seguridad
Crea un plan de copia de seguridad mediante la CLI de gcloud o la consola de Google Cloud.
gcloud
Para crear un plan de copia de seguridad con un programa, ejecuta el siguiente comando:
gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
--project=PROJECT_ID \
--location=LOCATION \
--cluster=CLUSTER \
--all-namespaces \
--include-secrets \
--include-volume-data \
--encryption-key=ENCRYPTION_KEY
--cron-schedule=SCHEDULE \
--backup-retain-days=RETAIN_DAYS \
--backup-delete-lock-days=DELETE_LOCK_DAYS \
--locked
Reemplaza lo siguiente:
BACKUP_PLAN
: El nombre del plan de copia de seguridad que deseas crear.PROJECT_ID
es el ID de tu proyecto de Google Cloud.LOCATION
: Es la región de procesamiento del recurso, por ejemplo,us-central1
. Consulta Acerca de las ubicaciones de los recursos.CLUSTER
: La ruta de acceso relativa al clúster:- Clústeres regionales:
projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME
- Clústeres zonales:
projects/PROJECT_ID/locations/ZONE/clusters/CLUSTER_NAME
- Clústeres regionales:
CLUSTER_NAME
: el nombre del clúster del que se creará una copia de seguridad.--all-namespaces
: Crea una copia de seguridad de todos los espacios de nombres del clúster.Como alternativa, puedes especificar lo siguiente:
--selected-applications
por una lista de ProtectedApplications comoNAMESPACE1/APP1,NAMESPACE2/APP2,...
para crear una copia de seguridad--selected-namespaces
por una lista de espacios de nombres comoNAMESPACE1,NAMESPACE2,...
para crear una copia de seguridad.
Debes especificar una de estas opciones cuando crees un plan de copia de seguridad.
--include-secrets
: Incluye recursosSecret
si están dentro del alcance de la copia de seguridad (opcional).--include-volume-data
: Incluye datos de volumen persistente en la copia de seguridad (opcional). Omite esta marca si deseas crear volúmenes vacíos durante el restablecimiento.ENCRYPTION_KEY
: Define la ruta a una clave de encriptación administrada por el cliente (opcional). Consulta Información sobre la encriptación de CMEK.SCHEDULE
: Define una programación que crea copias de seguridad de forma automática y admite la sintaxis cron estándar (opcional). Por ejemplo,"10 3 * * *"
crea una copia de seguridad a las 3:10 a.m. todos los días. Todas las horas se interpretan como UTC. El intervalo mínimo entre las copias de seguridad programadas es de 10 minutos.RETAIN_DAYS
: Es la cantidad de días que se conservará la copia de seguridad (obligatorio si se configuraSCHEDULE
). Las copias de seguridad de este plan se borran de forma automática después de que vence este período.DELETE_LOCK_DAYS
: Es la cantidad de días durante los cuales no se pueden borrar las copias de seguridad (opcional). Si se configura este valor, las copias de seguridad creadas para ese plan no se pueden borrar (ya sea de forma manual o automática) hasta que venza ese ciclo de vida.--locked
: Bloquea la política de retención del plan de copia de seguridad (opcional).
Para ver la lista completa de opciones, consulta la documentación de gcloud beta container backup-restore backup-plans create
.
Crea un BackupPlan para todos los espacios de nombres con una programación diaria
Con el siguiente comando, se crea una copia de seguridad para programar las copias de seguridad diarias de todos los espacios de nombres a las 5:20 a.m. todos los días. Las copias de seguridad se conservan durante 7 días y se bloquean durante 3 días después de su creación:
gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
--location=LOCATION \
--cluster=CLUSTER \
--all-namespaces \
--include-secrets \
--include-volume-data \
--cron-schedule="20 5 * * *" \
--backup-retain-days=7 \
--backup-delete-lock-days=3 \
--locked
Crea un BackupPlan para un espacio de nombres seleccionado con una programación por hora
Con el siguiente comando, se crea una copia de seguridad para programar la copia de seguridad por hora del espacio de nombres seleccionado ( my-ns) en el minuto 15 cada hora. Las copias de seguridad se conservan durante 3 días después de su creación:
gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
--location=LOCATION \
--cluster=CLUSTER \
--selected-namespaces=my-ns \
--include-secrets \
--include-volume-data \
--cron-schedule="15 * * * *" \
--backup-retain-days=3
Crea un BackupPlan para un seleccionadoProtectedApplication
El siguiente comando crea un BackupPlan para seleccionar ProtectedApplication (my-ns/my-app).
gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
--location=LOCATION \
--cluster=CLUSTER \
--selected-applications=my-ns1/my-app1,my-ns2/my-app2 \
--include-secrets \
--include-volume-data
Console
Usa las siguientes instrucciones para crear un plan de copias de seguridad en la consola de Google Cloud:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
En el menú de navegación, haz clic en Copia de seguridad para GKE.
Haz clic en Create a backup plan.
En la sección Detalles del plan, haz lo siguiente:
- Selecciona el clúster del que deseas crear una copia de seguridad.
- Ingresa el nombre del plan de copia de seguridad y la descripción opcional.
- Elige una ubicación para la copia de seguridad.
En la sección Programación de copia de seguridad, en el campo de string CRON, ingresa una expresión con sintaxis cron estándar. Por ejemplo,
10 3 * * *
crea una copia de seguridad a las 3:10 a.m. todos los días. Todas las horas se interpretan como UTC. El intervalo mínimo entre las copias de seguridad programadas es de 10 minutos.En la sección Política de retención, haz lo siguiente:
- Configura la cantidad de días que se retendrá la copia de seguridad antes de que esta se borre de forma automática.
- Configura la cantidad de días durante los cuales no se pueden borrar las copias de seguridad.
- A fin de bloquear la política de retención, haz clic en el ícono de bloqueo para cambiar el estado de Desactivado a Activado.
En la sección Configura el permiso y la encriptación de la copia de seguridad, haz lo siguiente:
Selecciona el alcance del plan de copia de seguridad:
- Haz clic en Entire cluster (including all namespaces) para crear una copia de seguridad de todos los recursos con espacio de nombres en la copia de seguridad.
- Haz clic en Selected namespaces within this cluster para elegir los espacios de nombres que deseas incluir en el plan de copia de seguridad.
- Haz clic en Selected protected applications within this cluster para seleccionar recursos especificando el espacio de nombres y el nombre de la aplicación.
Haz clic en la casilla de verificación Secrets para incluir los recursos de Secret de Kubernetes.
Haz clic en la casilla de verificación Persistent volume data si deseas que los datos de volumen se incluyan en tu copia de seguridad. Si eliges omitir los datos de volumen, no podrás restablecerlos durante el restablecimiento. Sin embargo, tendrás dos opciones para elegir los datos de volumen durante el restablecimiento: Aprovisionar volúmenes nuevos o Reuse existing volumes.
Para habilitar la encriptación de CMEK, primero debes otorgar el acceso a las claves CMEK adecuadas (consulta Acerca de la encriptación de CMEK).
- Haz clic en la casilla de verificación Usar una clave de encriptación administrada por el cliente para seleccionar una clave.
Revisa los detalles del plan de copia de seguridad y haz clic en Create plan.
Terraform
Crea un recurso google_gke_backup_backup_plan
resource "google_gke_backup_backup_plan" "basic" {
name = "BACKUP_PLAN"
cluster = google_container_cluster.CLUSTER.id
location = "LOCATION"
retention_policy {
backup_retain_days = 7
}
backup_schedule {
cron_schedule = "17 3 * * *"
}
backup_config {
include_volume_data = true
include_secrets = true
all_namespaces = true
}
}
Reemplaza lo siguiente:
BACKUP_PLAN
: El nombre del plan de copia de seguridad que deseas crear.CLUSTER
: Es el nombre de tu recursogoogle_container_cluster
.LOCATION
: Es la región en la que deseas almacenar las copias de seguridad.
Para obtener más información, consulta gke_backup_backup_plan.
Visualiza un plan de copia de seguridad
Ve un plan de copia de seguridad y sus detalles mediante la CLI de gcloud o la consola de Google Cloud.
gcloud
Para obtener una lista de todos los planes de copia de seguridad dentro del proyecto y la región, ejecuta el siguiente comando:
gcloud beta container backup-restore backup-plans list \
--project=PROJECT_ID \
--location=LOCATION
Solo para los comandos list
, puedes proporcionar -
como el valor de cualquier parámetro, excepto PROJECT_ID
. El valor -
actúa como un comodín. El valor -
es el valor predeterminado para cualquier parámetro si no especificas una
opción de línea de comandos ni configuras una propiedad.
Para ver la lista completa de opciones, consulta la documentación de gcloud beta container backup-restore backup-plans list
.
Para ver los detalles de un plan de copia de seguridad, ejecuta el siguiente comando:
gcloud beta container backup-restore backup-plans describe BACKUP_PLAN \
--project=PROJECT_ID \
--location=LOCATION
Para ver la lista completa de opciones, consulta la documentación de gcloud beta container backup-restore backup-plans describe
.
Console
Usa las siguientes instrucciones para ver un plan de copias de seguridad en la consola de Google Cloud:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
En el menú de navegación, haz clic en Copia de seguridad para GKE.
Haz clic en la pestaña Backup Plans.
Expande el clúster y haz clic en el nombre del plan.
Haz clic en la pestaña Detalles para ver los detalles del plan.
Actualiza un plan de copia de seguridad
Actualiza un plan de copia de seguridad mediante la CLI de gcloud o la consola de Google Cloud.
gcloud
Para actualizar un plan de copia de seguridad, por ejemplo, mediante la adición de una descripción nueva, ejecuta el siguiente comando:
gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
--project=PROJECT_ID \
--location=LOCATION \
--description=DESCRIPTION
Para ver la lista completa de opciones, consulta la documentación de gcloud beta container backup-restore backup-plans update
.
Console
Usa las siguientes instrucciones para actualizar un plan de copias de seguridad en la consola de Google Cloud:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
En el menú de navegación, haz clic en Copia de seguridad para GKE.
Haz clic en la pestaña Backup Plans.
Expande el clúster y haz clic en el nombre del plan.
Haz clic en la pestaña Detalles para editar los detalles del plan.
Haz clic en edit Editar para editar una sección del plan y, luego, en Guardar cambios.
Pausa una programación de copia de seguridad
Puedes pausar tu programación de copia de seguridad. Mientras la programación está en pausa, no se crean copias de seguridad automáticas. De todos modos, puedes crear copias de seguridad de forma manual.
gcloud
Para pausar una programación de copia de seguridad, ejecuta el siguiente comando:
gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
--project=PROJECT_ID \
--location=LOCATION \
--paused
Para ver la lista completa de opciones, consulta la documentación de gcloud beta container backup-restore backup-plans update
.
Console
Usa las siguientes instrucciones para pausar una programación de copia de seguridad en la consola de Google Cloud:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
En el menú de navegación, haz clic en Copia de seguridad para GKE.
Haz clic en la pestaña Backup Plans.
Expande el clúster y haz clic en el nombre del plan.
Haz clic en Pausar programación y, luego, en Pausar programación en el diálogo de confirmación.
Borra un plan de copia de seguridad
Puedes borrar un plan de copia de seguridad con la CLI de gcloud o la consola de Google Cloud. No puedes borrar un plan de copia de seguridad si el plan contiene copias de seguridad.
gcloud
Para borrar un plan de copia de seguridad, ejecuta el siguiente comando:
gcloud beta container backup-restore backup-plans delete BACKUP_PLAN \
--project=PROJECT_ID \
--location=LOCATION
Para ver la lista completa de opciones, consulta la documentación de gcloud beta container backup-restore backup-plans delete
.
Console
Usa las siguientes instrucciones para borrar un plan de copias de seguridad en la consola de Google Cloud:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
En el menú de navegación, haz clic en Copia de seguridad para GKE.
Haz clic en la pestaña Backup Plans.
Expande el clúster y haz clic en el nombre del plan.
Haz clic en delete Borrar plan.
Escribe el nombre del plan de copia de seguridad y, luego, haz clic en Borrar plan de la copia de seguridad en el diálogo de confirmación.
¿Qué sigue?
- Obtén más información para planificar un conjunto de restablecimientos.
- Obtén más información para crear una copia de seguridad de tus cargas de trabajo de manera manual.