Despliegue OCI Kubernetes Engine con Autonomous Transaction Processing en Oracle Cloud
Despliegue OCI Kubernetes Engine (OKE) con la base de datos de Oracle Autonomous Transaction Processing (ATP) para crear, desplegar y gestionar aplicaciones nativas en la nube de forma fiable mediante la tecnología de base de datos Oracle en Oracle Cloud Infrastructure.
Arquitectura
Despliegue Oracle Cloud Infrastructure Kubernetes Engine (OKE) con la base de datos Oracle Autonomous Transaction Processing (ATP) para crear, desplegar y gestionar aplicaciones nativas en la nube de forma fiable mediante la tecnología de base de datos Oracle en Oracle Cloud Infrastructure.
En el siguiente diagrama se ilustra la arquitectura.
La arquitectura tiene los siguientes componentes:
- Regiones
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes entre sí y puede haber grandes distancias que las separen (entre países e incluso continentes).
- Dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, un fallo en un dominio de disponibilidad no debería afectar a los otros dominios de disponibilidad de la región.
- Dominios de errores
Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad cuenta con tres dominios de errores con energía y hardware independientes. OCI Kubernetes Engine gestiona la distribución de los nodos en el cluster en varios dominios de errores. Por lo tanto, la aplicación en contenedores está protegida contra fallos en el servidor físico, el mantenimiento del sistema y fallos de alimentación en un dominio de errores.
- Red y subredes virtuales en la nube (VCN)
Una VCN es una red personalizable y definida por software que puede configurar en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan el control de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Equilibrador de carga
El equilibrador de carga proporcionado por OCI Kubernetes Engine (OKE) proporciona una distribución automatizada del tráfico desde un único punto de entrada a los recursos del cluster.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing es un servicio de base de datos de autogestión, autoseguridad y autorreparación optimizado para las cargas de trabajo de procesamiento de transacciones. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure se ocupa de la creación de la base de datos, así como de la copia de seguridad, la aplicación de parches, el cambio de versión y el ajuste de la base de datos.
- OCI Kubernetes Engine
Oracle Cloud Infrastructure Kubernetes Engine (Kubernetes Engine u OKE) es un servicio totalmente gestionado, escalable y disponible que puede utilizar para desplegar las aplicaciones en contenedores en la nube. Especifique los recursos informáticos que necesitan sus aplicaciones y Kubernetes Engine los provisionará en Oracle Cloud Infrastructure en un arrendamiento existente. OKE utiliza Kubernetes para automatizar el despliegue, la ampliación y la gestión de aplicaciones en contenedores en clusters de hosts.
Recomendaciones
Utilice las siguientes recomendaciones como punto de partida. Sus requisitos pueden diferir de la arquitectura descrita aquí.
- VCN
Al crear una VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de direcciones IP privadas estándar.
Seleccione bloques de CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) a la que desee configurar conexiones privadas.
Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques CIDR.
Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.
Utilizar subredes regionales.
Para simplificar, esta arquitectura utiliza una subred pública para alojar Oracle Cloud Infrastructure Kubernetes Engine (OKE). También puede utilizar una subred privada. En ese caso, utilice un gateway de NAT para permitir el acceso a la red pública de Internet desde el cluster.
- OCI Kubernetes Engine
En esta arquitectura, los nodos de trabajador del cluster de Kubernetes utilizan la unidad VM.Standard2.1 y se ejecutan en Oracle Linux. Puede crear hasta 1000 nodos en un cluster.
- Base de datos autónoma
En esta arquitectura, la aplicación almacena los datos relacionales en una base de datos de Oracle Autonomous Transaction Processing. Recomendamos utilizar la última versión.
Consideraciones
Al implantar esta arquitectura, tenga en cuenta los requisitos para los siguientes parámetros:
- Escalabilidad de la base de datos autónoma
Puede ampliar o reducir el número de núcleos de CPU de la base de datos en cualquier momento. La función de ampliación automática de Autonomous Transaction Processing permite que la base de datos utilice hasta tres veces el número base actual de núcleos de CPU en cualquier momento. A medida que la demanda aumenta, la ampliación automática aumenta automáticamente el número de núcleos en uso. Autonomous Transaction Processing le permite escalar la capacidad de almacenamiento de la base de datos en cualquier momento sin que afecte a la disponibilidad o al rendimiento.
- Copias de seguridad de bases de datos autónomas
Oracle Cloud Infrastructure realiza automáticamente una copia de seguridad de las bases de datos autónomas y las retiene durante 60 días. Puede restaurar y recuperar la base de datos a cualquier momento en este período de retención. También puede crear copias de seguridad manuales para complementar las copias de seguridad automáticas. Las copias de seguridad manuales se almacenan en un cubo de Oracle Cloud Infrastructure Object Storage que se crea y se conservan durante 60 días.
- Escalabilidad de Kubernetes
Puede escalar horizontalmente la aplicación actualizando el número de nodos de trabajador en el cluster de Kubernetes, en función de la carga. Del mismo modo, puede reducir el número de nodos de trabajador en el cluster. Al crear un servicio en el cluster de Kubernetes, puede crear un equilibrador de carga para distribuir el tráfico de servicios entre los nodos asignados a ese servicio.
- Disponibilidad de aplicación
Los dominios de errores ofrecen la mejor resiliencia en un solo dominio de disponibilidad. También puede desplegar instancias o nodos que realicen las mismas tareas en varios dominios de disponibilidad. Este diseño elimina un único punto de fallo mediante la introducción de redundancia.
- Seguridad
Utilice políticas que restrinjan quién puede acceder a qué recursos de Oracle Cloud Infrastructure y cómo pueden acceder a ellos.
OCI Kubernetes Engine está integrado con Oracle Cloud Infrastructure Identity and Access Management (IAM). IAM proporciona una autenticación sencilla con la funcionalidad de identidad nativa de Oracle Cloud Infrastructure.
Despliegue
El código necesario para desplegar esta arquitectura de referencia está disponible en GitHub. Puede extraer el código en Oracle Cloud Infrastructure Resource Manager con un solo clic, crear la pila y desplegarla. También puede descargar el código de GitHub en la computadora, personalizar el código y desplegar la arquitectura mediante la interfaz de línea de comandos de Terraform.
- Realice el despliegue con Oracle Cloud Infrastructure Resource Manager:
- Haga clic en
Si aún no ha iniciado sesión, introduzca el arrendamiento y las credenciales de usuario.
- Revise y acepte los términos y las condiciones.
- Seleccione la región en la que desea desplegar la pila.
- Siga las indicaciones e instrucciones en pantalla para crear la pila.
- Después de crear la pila, haga clic en Acciones de Terraform y seleccione Plan.
- Espere a que se complete el trabajo y revise el plan.
Para realizar cambios, vuelva a la página Detalles de pila, haga clic en Editar pila y realice los cambios necesarios. A continuación, vuelva a ejecutar la acción Plan.
- Si no es necesario realizar más cambios, vuelva a la página Detalles de pila, haga clic en Acciones de Terraform y seleccione Aplicar.
- Haga clic en
- Realice el despliegue mediante la interfaz de línea de comandos de Terraform:
- Vaya a GitHub.
- Descargue o clone el código en su computadora local.
- Siga las instrucciones de
deploy/complete/README.md
.
Explorar más
Obtén más información sobre el despliegue de aplicaciones basadas en microservicios en contenedores en clusters de Kubernetes en la nube.