Controla los conflictos de recursos durante el restablecimiento


En esta página, se describe cómo configurar estrategias de manejo de conflictos para los recursos con espacio de nombres y con permisos de clúster en un plan de restablecimiento.

Cuando restableces un clúster, es posible que encuentres conflictos de recursos en las siguientes situaciones:

  • Restablecer a un clúster existente que ya tiene recursos aprovisionados.
  • Cuando un recurso de Kubernetes se administra con herramientas, como GitOps o un operador.

La copia de seguridad para GKE proporciona varias opciones para definir la administración de conflictos de recursos con espacio de nombres y centrados en el clúster que puedes especificar en un plan de restablecimiento.

Se restableció el manejo de conflictos para los recursos con permiso de clúster

Puedes configurar las siguientes opciones en el plan de restablecimiento para controlar los conflictos de un recurso con permisos de clúster:

  • Mantener los recursos en el clúster de destino (no destructivo): Si ya existe un recurso con el mismo nombre en el clúster de destino, déjalo como está.
  • Reemplazar recursos en el clúster de destino (destructivo): Si un recurso ya existe en el clúster de destino, bórralo y restablece la copia desde la copia de seguridad.

gcloud

Actualiza un plan de restablecimiento existente para controlar el conflicto de un recurso con permisos de clúster:

gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --cluster-resource-conflict-policy=CLUSTER_RESOURCE_CONFLICT_POLICY

Reemplaza lo siguiente:

  • RESTORE_PLAN: El nombre del plan de restablecimiento que deseas actualizar.
  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • LOCATION: Es la región de procesamiento del recurso, por ejemplo, us-central1.
  • CLUSTER_RESOURCE_CONFLICT_POLICY: Define cómo controlar los conflictos en el tiempo de restablecimiento de los recursos del clúster seleccionados. Usa una de las siguientes opciones:

    • use-existing-version: Si los recursos que se restablecen ya existen en el clúster de destino, la copia de seguridad para GKE conserva los recursos existentes.
    • use-backup-version: Si los recursos que se están restableciendo ya existen en el clúster de destino, la copia de seguridad para GKE reemplaza los recursos existentes por los nuevos de la copia de seguridad.

Console

Usa las siguientes instrucciones para actualizar la política de conflictos de recursos centrados en el clúster en la consola de Google Cloud:

  1. En la consola de Google Cloud, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú de navegación, haz clic en Copia de seguridad para GKE.

  3. Haz clic en la pestaña Planes de restablecimiento.

  4. Haz clic en el nombre del plan de restablecimiento.

  5. Haz clic en la pestaña Detalles.

  6. En la sección Restablecer configuración, ve a la sección Recursos con alcance de clúster y haz clic en Editar.

  7. En la sección Define cómo manejar los conflictos, selecciona una opción de manejo de conflictos.

  8. Haz clic en Guardar cambios.

Restablece la administración de conflictos para recursos con espacio de nombres

En el plan de restablecimiento, puedes configurar las siguientes opciones para administrar los conflictos de un recurso con espacio de nombres. Puedes especificar el manejo de conflictos para los recursos con espacio de nombres en los siguientes niveles:

  • Recurso individual
  • Espacio de nombres y ProtectedApplication

Las siguientes son las opciones disponibles para controlar los conflictos de los recursos individuales:

  • Omitir combinación (no destructiva): Si ya existe un recurso específico, omite restablecerlo desde la copia de seguridad.
  • Volumen de reemplazo de combinación (destructivo): Si ya existe un recurso específico,omite restablecerlo, pero reemplaza el volumen persistente subyacente con la política de restablecimiento de datos de volumen. El volumen de reemplazo de combinación logra el restablecimiento solo de datos.
  • Reemplazo de combinación (destructivo): Si ya existe un recurso específico, reemplázalo con el de la copia de seguridad y los datos del volumen asociados siguiendo la política de restablecimiento de datos de volumen.

Las siguientes son las opciones disponibles para controlar los conflictos de todos los recursos que pertenecen a un espacio de nombres y ProtectedApplication:

  • Falla debido a un conflicto (no destructivo): Si el espacio de nombres o la ProtectedApplication destinados al restablecimiento desde una copia de seguridad que ya existe en el clúster de destino, el restablecimiento fallará.
  • Rollback (destructivo): Cuando el clúster de destino contiene el espacio de nombres o la ProtectedApplication que se usarán para restablecer el clúster, el grupo existente de recursos se borra antes de que se restablezcan los recursos nuevos.

gcloud

Actualiza un plan de restablecimiento existente para controlar el conflicto de un recurso con espacio de nombres:

gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --namespaced-resource-restore-mode=NAMESPACED_RESOURCE_RESTORE_MODE

Reemplaza lo siguiente:

  • RESTORE_PLAN: El nombre del plan de restablecimiento que deseas actualizar.
  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • LOCATION: Es la región de procesamiento del recurso, por ejemplo, us-central1.
  • NAMESPACED_RESOURCE_RESTORE_MODE: Define cómo controlar los conflictos de tiempo de restablecimiento para los recursos con espacio de nombres. Usa una de las siguientes opciones:

    • merge-skip-on-conflict: Omite los recursos individuales en conflicto.
    • merge-replace-volume-on-conflict: Omite los recursos individuales en conflicto, pero reemplaza los datos de volumen persistente subyacentes.
    • merge-replace-on-conflict: reemplaza los recursos individuales en conflicto y los datos de volumen persistente subyacentes.
    • fail-on-conflict: Falla en el espacio de nombres en conflicto o en ProtectedApplication.
    • delete-and-restore: Revierte el espacio de nombres en conflicto o ProtectedApplication.

Console

Usa las siguientes instrucciones para actualizar la política de conflictos de recursos con espacio de nombres en la consola de Google Cloud:

  1. En la consola de Google Cloud, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú de navegación, haz clic en Copia de seguridad para GKE.

  3. Haz clic en la pestaña Planes de restablecimiento.

  4. Haz clic en el nombre del plan de restablecimiento.

  5. Haz clic en la pestaña Detalles.

  6. En la sección Restablecer configuraciones, ve a la sección Recursos con espacio de nombres y haz clic en Editar.

  7. En la sección Define cómo manejar los conflictos, selecciona una opción de manejo de conflictos.

  8. Haz clic en Guardar cambios.

En la siguiente tabla, se enumeran las estrategias recomendadas para controlar conflictos en ciertas situaciones comunes:

Scenarios Usa la administración de conflictos recomendada para un recurso con espacio de nombres Usa el manejo de conflictos recomendado para un recurso centrado en el clúster
Restablece en un clúster nuevo Falla debido a un conflicto Mantener los recursos en el clúster de destino
Revierte todo el espacio de nombres o ProtectedApplication Borrar y restablecer No aplicable
Restablece en un clúster administrado por GitOps sin volúmenes Combinar y saltar Mantener los recursos en el clúster de destino
Restablecimiento de solo datos para un clúster administrado por GitOps Combinar y reemplazar volumen Mantener los recursos en el clúster de destino
Revierte los datos de volumen y carga de trabajo seleccionados Combinar y reemplazar Reemplazar los recursos en el clúster de destino

¿Qué sigue?