Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
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
Objetivos
En este tutorial, se tratarán las siguientes tareas.
- Tarea 1: Creación de un grupo dinámico y políticas para OKE y OCI Full Stack Disaster Recovery
- Tarea 2: Agregar el cluster de OKE principal a los grupos de protección de DR principales
- Tarea 3: Adición de grupos de volúmenes a los grupos de protección de DR principales
- Tarea 4: Adición del cluster de OKE en espera a los grupos de protección de DR en espera
- Tarea 5: Crear un plan de cambio de nivel de inicio
- Tarea 6: Ejecutar el plan de cambio de nivel de inicio
- Tarea 7: 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
- Tarea 9: Ejecución del Plan de Parada de Cambio de Nivel
- Tarea 10: Comprobación de la limpieza en el cluster de OKE en espera
Nota: En este tutorial, la región principal es Fráncfort y la región en espera es Ámsterdam.
Requisitos
-
En este tutorial se asume que los grupos de protección de DR (DRPG) ya existen y que tiene planes de DR existentes en ambas regiones.
-
En este tutorial se asume que el lector tiene privilegios de administrador y que las políticas de Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) necesarias para OCI Full Stack DR ya están en su lugar. Para obtener más información, consulte Configuración de políticas de Identity and Access Management (IAM) para utilizar Full Stack DR y Políticas para Full Stack Disaster Recovery.
-
En este tutorial se asume que el lector tiene un cluster de OKE desplegado en la región principal y un cluster de peer en la región en espera. Para obtener más información, consulte Creación de un cluster.
-
En este tutorial se asume que el lector ha desconectado (mockado) la aplicación MuShop desplegada en el cluster de OKE principal. Para obtener más información, consulte Despliegue de MuShop.
-
Los volúmenes en bloque generados por el cluster de OKE ya se agregaron al grupo de volúmenes (
vg_oke_mushop
). Debe crear un grupo de volúmenes con réplica entre regiones. Para obtener más información, consulte Creación de grupos de volúmenes. -
Cree un cubo de OCI Object Storage en la región principal y en la región en espera para almacenar copias de seguridad de OKE. Para obtener más información, consulte Object Storage.
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.
-
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>
-
-
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
obrie-creator
para leer y escribir en el cubo de OCI Object Storage. -
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>
-
-
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 dedynamic-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
-
En el DRPG principal (
DRPG_MUSHOP_FRA
), seleccione Members y haga clic en Add Member. -
Seleccione Cluster de OKE como Tipo de recurso.
-
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.
-
Seleccione Entiendo que debo refrescar y verificar todos los planes existentes y haga clic en Agregar.
Tarea 3: Adición de grupos de volúmenes a los grupos de protección de DR principales
-
En el DRPG principal (
DRPG_MUSHOP_FRA
), seleccione Members y haga clic en Add Member. -
Seleccione Grupo de volúmenes como Tipo de recurso.
-
Introduzca la siguiente información.
- Grupo de volúmenes: seleccione el grupo de volúmenes.
-
Seleccione Entiendo que debo refrescar y verificar todos los planes existentes y haga clic en Agregar.
Tarea 4: Adición de un cluster de OKE en espera a los grupos de protección de DR en espera
-
En el DRPG en espera (
DRPG_MUSHOP_AMS
), seleccione Members y haga clic en Add Member. -
Seleccione Cluster de OKE como Tipo de recurso.
-
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.
-
Seleccione Entiendo que debo refrescar y verificar todos los planes existentes y haga clic en Agregar.
Tarea 5: Creación de un plan de detalle de inicio
-
En el DRPG en espera (
DRPG_MUSHOP_AMS
), seleccione Planes y haga clic en Crear plan. -
Introduzca un nombre para el plan, seleccione Iniciar cambio de nivel como Tipo de plan y haga clic en Crear.
Después de unos minutos, el plan mostrará el estado Activo.
-
Seleccione el plan creado para ver su contenido.
Tarea 6: Ejecución del Plan de Cambio de Nivel de Inicio
-
Seleccione el plan creado en la tarea 5.
-
Seleccione Activar comprobaciones previas y haga clic en Ejecutar plan.
Después de unos minutos, todos los grupos mostrarán el estado Correcto.
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
Tarea 8: Creación de un plan de detención de detalle
-
En el DRPG en espera (
DRPG_MUSHOP_AMS
), seleccione Planes y haga clic en Crear plan. -
Introduzca un nombre para el plan, seleccione Iniciar cambio de nivel como Tipo de plan y haga clic en Crear.
Después de unos minutos, el plan mostrará el estado Activo.
Tarea 9: Ejecución del Plan de Detención de Detalle
-
Seleccione el plan creado en la tarea 8.
-
Seleccione Activar comprobaciones previas y haga clic en Ejecutar plan.
Después de unos minutos, todos los grupos mostrarán el estado Succuss.
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
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.
- Ejecución periódica periódica de comprobaciones previas.
- Ejecución periódica regular de ejercicios 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:
Enlaces relacionados
-
Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery
-
Preparación de Kubernetes Engine (OKE) para la recuperación ante desastres
-
Adición de un cluster de OKE a un grupo de protección de recuperación ante desastres
Agradecimientos
- Autor: Raphael Teixeira (miembro principal del personal técnico para la ingeniería de recuperación ante desastres de pila completa)
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.
Automate Switchover and Failover Plans for OCI Kubernetes Engine (Stateful) with OCI Full Stack Disaster Recovery
G26596-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.