Note:

Automatice los planes de switchover y failover para OCI Kubernetes Engine (con estado) con OCI Full Stack Disaster Recovery

Introducción

Oracle Cloud Infrastructure Full Stack Disaster Recovery (OCI Full Stack DR) organiza la transición de recursos informáticos, bases de datos y aplicaciones entre las regiones de Oracle Cloud Infrastructure (OCI) de todo el mundo con un solo clic. Los clientes pueden automatizar los pasos necesarios para recuperar uno o más sistemas de negocio sin rediseñar o rediseñar la infraestructura, las bases de datos o las aplicaciones existentes y sin necesidad de servidores de conversión o gestión especializados.

Oracle Cloud Infrastructure Kubernetes Engine (OKE) es un servicio de Kubernetes gestionado que simplifica el desarrollo, el despliegue y el funcionamiento de cargas de trabajo en contenedores a escala. OKE le permite crear, gestionar y consumir rápidamente clusters de Kubernetes que aprovechan los servicios subyacentes de OCI Compute, Networking y Storage.

Arquitectura de despliegue

Diagrama de arquitectura

Objetivos

En este tutorial, se tratarán las siguientes tareas.

Nota: En este tutorial, la región principal es Fráncfort y la región en espera es Ámsterdam.

Requisitos

Tarea 1: Creación de un grupo dinámico y políticas para OKE y OCI Full Stack DR

Estas políticas permiten que el servicio OCI Full Stack DR acceda al cubo de OCI Object Storage para cargar la copia de seguridad de configuración. La política para el acceso al cubo de OCI Object Storage desde el cluster de OKE depende del tipo de cluster.

  1. Cree un grupo dinámico y políticas para el pool de nodos gestionado.

    • Cree un grupo dinámico denominado <cluster1_dg>.

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Cree las siguientes políticas.

      Allow dynamic-group cluster1_dg to manage object-family in compartment <compartment>
      Allow dynamic-group cluster1_dg to manage cluster-family in compartment <compartment>
      
  2. Cree las siguientes políticas para el pool de nodos virtuales.

    Allow any-user to manage objects in tenancy where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-reader', request.principal.cluster_id = '<Cluster_OCID>'}
    
    Allow any-user to manage objects in tenancy where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-creator', request.principal.cluster_id = '<Cluster_OCID>'}
    

    Estas políticas proporcionan pods que se ejecutan en el espacio de nombres brie con la cuenta de servicio brie-reader o brie-creator para leer y escribir en el cubo de OCI Object Storage.

  3. Cree un grupo dinámico y políticas para la instancia de contenedor. Estas políticas permiten que las instancias de contenedor en tiempo de ejecución creadas por el servicio OCI Full Stack DR accedan al cluster de OKE y al cubo de OCI Object Storage.

    • Cree un grupo dinámico denominado <bastion1_dg>.

      All {resource.type='computecontainerinstance'}
      
    • Cree las siguientes políticas.

      Allow dynamic-group bastion1_dg to manage object-family in compartment <compartment>
      Allow dynamic-group bastion1_dg to manage cluster-family in compartment <compartment>
      
  4. Cree un grupo dinámico y una política para el host de salto.

    Si utiliza el host de salto, esta política permite a OCI Full Stack DR acceder al cluster de OKE y a los cubos de OCI Object Storage. Si el host y el cluster de salto están en el mismo compartimento, puede evitar pasos para crear un nuevo grupo dinámico y una política para proporcionar acceso al cubo de OCI Object Storage.

    • Cree un grupo dinámico denominado <bastion1_dg>.

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Cree la siguiente política.

      Allow dynamic-group bastion1_dg to manage cluster-family in compartment <compartment>Allow dynamic-group bastion1_dg to manage cluster in compartment <compartment>
      

Nota: Si no incluye identity_domain_name antes de dynamic-group, la sentencia de política se evaluará como si el grupo perteneciera al dominio de identidad por defecto. Para obtener más información, consulte Funcionamiento de las políticas.

Tarea 2: Adición de un cluster de OKE principal a los grupos de protección de DR principales

  1. En el DRPG principal (DRPG_MUSHOP_FRA), seleccione Members y haga clic en Add Member.

    Agregar cluster de OKE principal

  2. Seleccione Cluster de OKE como Tipo de recurso.

    Agregar cluster de OKE principal

  3. Introduzca la siguiente información.

    • Cluster de OKE: introduzca un cluster de OKE.
    • Copia de seguridad: introduzca la información de la copia de seguridad.
      • Cubo de copia de seguridad: seleccione el cubo.
      • Seleccione Especificar el programa de copia de seguridad.
      • Tipo de programa: introduzca el tipo de programa.
      • Hora de inicio: introduzca la hora de inicio en UTC.
      • Intervalo: introduzca el intervalo en días.
      • Número máximo de copias de seguridad que desea retener (opcional): introduzca el número máximo de copias de seguridad.
      • Seleccione Replicación de imagen:
      • Secreto de replicación de imagen (opcional): seleccione la imagen.
      • Espacio de nombres (opcional): introduzca el espacio de nombres.
    • Cluster de OKE peer: seleccione el cluster de OKE peer.
  4. Seleccione Entiendo que debo refrescar y verificar todos los planes existentes y haga clic en Agregar.

    Agregar cluster de OKE principal

Tarea 3: Adición de grupos de volúmenes a los grupos de protección de DR principales

  1. En el DRPG principal (DRPG_MUSHOP_FRA), seleccione Members y haga clic en Add Member.

    Agregar grupos de volúmenes

  2. Seleccione Grupo de volúmenes como Tipo de recurso.

    Agregar grupos de volúmenes

  3. Introduzca la siguiente información.

    • Grupo de volúmenes: seleccione el grupo de volúmenes.
  4. Seleccione Entiendo que debo refrescar y verificar todos los planes existentes y haga clic en Agregar.

    Agregar grupos de volúmenes

Tarea 4: Adición de un cluster de OKE en espera a los grupos de protección de DR en espera

  1. En el DRPG en espera (DRPG_MUSHOP_AMS), seleccione Members y haga clic en Add Member.

    Agregar cluster de OKE en espera

  2. Seleccione Cluster de OKE como Tipo de recurso.

    Agregar cluster de OKE en espera

  3. Introduzca la siguiente información.

    • Cluster de OKE: introduzca un cluster de OKE.
    • Copia de seguridad: introduzca la información de la copia de seguridad.
      • Cubo de copia de seguridad: seleccione el cubo.
    • Cluster de OKE peer: seleccione el cluster de OKE peer.
  4. Seleccione Entiendo que debo refrescar y verificar todos los planes existentes y haga clic en Agregar.

    Agregar cluster de OKE en espera

Tarea 5: Creación de un plan de detalle de inicio

  1. En el DRPG en espera (DRPG_MUSHOP_AMS), seleccione Planes y haga clic en Crear plan.

    Crear un plan de detalle de inicio

  2. Introduzca un nombre para el plan, seleccione Iniciar cambio de nivel como Tipo de plan y haga clic en Crear.

    Crear un plan de detalle de inicio

    Después de unos minutos, el plan mostrará el estado Activo.

    Crear un plan de detalle de inicio

  3. Seleccione el plan creado para ver su contenido.

    Crear un plan de detalle de inicio

Tarea 6: Ejecución del Plan de Cambio de Nivel de Inicio

  1. Seleccione el plan creado en la tarea 5.

    Ejecutar el plan de detalle de inicio

  2. Seleccione Activar comprobaciones previas y haga clic en Ejecutar plan.

    Ejecutar el plan de detalle de inicio

    Después de unos minutos, todos los grupos mostrarán el estado Correcto.

    Ejecutar el plan de detalle de inicio

Tarea 7: Comprobación de la aplicación que se ejecuta en el cluster de OKE en espera

Conéctese al cluster de OKE en espera y compruebe si la aplicación se está ejecutando. Para la aplicación MuShop, ejecute el siguiente comando.

kubectel get all -n mushop

Comprobación de la aplicación que se ejecuta en el cluster de OKE en espera

Tarea 8: Creación de un plan de detención de detalle

  1. En el DRPG en espera (DRPG_MUSHOP_AMS), seleccione Planes y haga clic en Crear plan.

    Crear un plan de detalle de parada

  2. Introduzca un nombre para el plan, seleccione Iniciar cambio de nivel como Tipo de plan y haga clic en Crear.

    Crear un plan de detalle de parada

    Después de unos minutos, el plan mostrará el estado Activo.

    Crear un plan de detalle de parada

Tarea 9: Ejecución del Plan de Detención de Detalle

  1. Seleccione el plan creado en la tarea 8.

    Ejecución del Plan de Detención de Detalle

  2. Seleccione Activar comprobaciones previas y haga clic en Ejecutar plan.

    Ejecución del Plan de Detención de Detalle

    Después de unos minutos, todos los grupos mostrarán el estado Succuss.

    Ejecución del Plan de Detención de Detalle

Tarea 10: Comprobación de la limpieza en el cluster de OKE en espera

Conéctese al cluster de OKE en espera y compruebe la lista de espacios de nombres con el siguiente comando.

kubectl get namespaces

Comprobar limpieza en cluster de OKE en espera

Pasos Siguientes

Una vez creados y ejecutados los planes de cambio de nivel, ahora es el momento de crear un plan de switchover y un plan de failover.

Hay dos mejores prácticas que deben incorporarse en las operaciones diarias normales para ayudar a garantizar la preparación de sus planes de DR.

Piense en programar comprobaciones previas semanales de todos los planes de DR en el grupo de protección de DR en espera. Las comprobaciones previas se pueden ejecutar en cualquier momento y no tienen ningún impacto en las cargas de trabajo de producción. Esto ayudará a garantizar la integridad de sus planes de DR, la captura de los recursos de miembros faltantes, las redes faltantes, la imposibilidad de encontrar scripts esperados llamados por pasos definidos por el usuario, etc.

Otra forma muy importante de validar la preparación de su recuperación ante desastres es programar ejercicios periódicos de DR una vez al mes o trimestre. Las actualizaciones de DR también tienen un impacto nulo en las cargas de trabajo de producción, pero le permiten validar la recuperación de recursos informáticos, almacenamiento, bases de datos Oracle y juegos de backends para equilibradores de carga en la región en espera con solo hacer clic en un solo botón. Para obtener más información, consulte:

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.