Despliegue de Oracle WebLogic Server en un cluster de Kubernetes
Arquitectura
Esta arquitectura de referencia muestra un dominio de Oracle SOA y un dominio opcional de Oracle Service Bus (OSB) desplegado en un cluster de Kubernetes aprovisionado en Oracle Cloud mediante OCI Kubernetes Engine. Este servicio facilita la creación de un cluster de Kubernetes y la prestación de los servicios necesarios, como un equilibrador de carga, almacenamiento de bloques y redes.
El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de la ilustración soa-oke.png
La arquitectura tiene los siguientes componentes:
- Región
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. Al distribuir los recursos entre varios dominios de errores, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y fallos de energía 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 servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automática del tráfico desde un punto de entrada a varios servidores a los que se puede acceder desde la VCN.
- Almacenamiento de archivos
El servicio Oracle Cloud Infrastructure File Storage proporciona un sistema de archivos de red duradero, escalable, seguro y empresarial. Puede conectarse a un sistema de archivos del servicio File Storage desde cualquier instancia con hardware dedicado, de máquina virtual o de contenedor en una VCN. También puede acceder a un sistema de archivos desde fuera de la VCN mediante Oracle Cloud Infrastructure FastConnect y la VPN IPSec. El servicio de almacenamiento de archivos se utiliza para crear un volumen persistente para almacenar los artefactos de dominio de SOA.
- Kubernetes Engine
Oracle Cloud Infrastructure Kubernetes Engine (OCI 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.
- Dominio de SOA
Un dominio SOA es un grupo de aplicaciones y recursos relacionados y la información de configuración necesaria para ejecutarlos. Un dominio incluye una o más instancias de SOA, que se pueden agrupar en clusters, no agrupadas en clusters o una combinación de instancias agrupadas en clusters y no agrupadas en clusters. Un dominio puede incluir varios clusters.
- Clusters de SOA y (opcional) Oracle Service Bus
Un cluster forma parte de un dominio SOA concreto. Un cluster consta de varias instancias de SOA que se ejecutan simultáneamente y funcionan juntas para aumentar las posibilidades de ampliación y la fiabilidad.
Un cluster de SOA es diferente de un cluster de Kubernetes. Un cluster de SOA parece que los clientes son una única instancia de SOA. Las instancias de servidor que constituyen un cluster pueden ejecutarse en la misma máquina o pueden estar en máquinas diferentes. Cada instancia de servidor de un cluster debe ejecutarse con la misma versión de Oracle WebLogic Server.
- WebLogic Operador de Kubernetes
Un operador de Kubernetes es un software que gestiona aplicaciones complejas. El operador de Kubernetes WebLogic está diseñado para realizar un rol similar al de un operador humano en un despliegue de centro de datos tradicional. Sus tareas incluyen iniciar y detener entornos, iniciar copias de seguridad, realizar operaciones de escalado, realizar tareas manuales asociadas con las necesidades de recuperación ante desastres y alta disponibilidad, y coordinar acciones con otros operadores de otros centros de datos.
Recomendaciones
Sus requisitos pueden diferir de la arquitectura descrita aquí. Utilice las siguientes recomendaciones como punto de partida.
- 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.
Esta arquitectura utiliza una subred pública para los equilibradores de carga y una subred privada para alojar nodos de OCI Kubernetes Engine.
- OCI Kubernetes Engine
Aunque el operador soporta cualquier cluster de Kubernetes genérico, esta arquitectura utiliza clusters de OCI Kubernetes Engine. Estos clusters tienen cinco nodos de trabajador distribuidos en diferentes hosts físicos. El cluster mostrado tiene nodos de trabajador distribuidos en diferentes hosts físicos. Puede crear hasta 1000 nodos en un cluster. Los nodos de trabajador se despliegan en hosts de Oracle Linux VM.Standard2.1.
- Equilibrador de carga
Por defecto, los servidores de Oracle WebLogic Server (servidores administradores y gestionados) creados por el operador no se exponen fuera del cluster de OCI Kubernetes Engine. Para exponer la aplicación al mundo exterior, esta arquitectura utiliza un equilibrador de carga público en el servicio de equilibrio de carga. Un equilibrador de carga público tiene una dirección IP pública accesible desde Internet. Esta arquitectura utiliza un equilibrador de carga con 100 Mbps para manejar el tráfico. Si necesita manejar más tráfico de entrada, puede elegir un mayor ancho de banda, hasta 8000 Mbps.
- Almacenamiento de archivos
Para cumplir con las mejores prácticas para ejecutar dominios de Oracle WebLogic Server, los archivos de configuración de dominio de esta arquitectura se almacenan en File Storage compartido al que se puede acceder desde todos los servidores WebLogic del cluster. Esta configuración ofrece las siguientes ventajas:
- No es necesario volver a crear imágenes de Docker para los cambios en la configuración del dominio.
- Las copias de seguridad son más rápidas y están centralizadas.
- Los logs se almacenan por defecto en el almacenamiento persistente.
Consideraciones
- Posibilidades de ampliación
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. En el cluster de Kubernetes, al crear un servicio, puede crear un equilibrador de carga para distribuir el tráfico de servicios entre los nodos asignados a ese servicio. Puede crear el volumen persistente mediante Terraform o la consola web de Oracle y, a continuación, hacer referencia a él desde los scripts del operador. Puede escalar el dominio de SOA y los clusters ajustando el número de servidores gestionados asignados al cluster, independientemente del número de nodos de cluster de OKE.
- Disponibilidad de aplicación
El cluster de Kubernetes tiene tres nodos de trabajador para servidores gestionados que se distribuyen en diferentes infraestructuras físicas, de modo que los propios clusters de Oracle WebLogic Server tienen la mayor disponibilidad.
- Seguridad
Utilice políticas para controlar quién puede utilizar los recursos de Oracle Cloud Infrastructure y las operaciones que pueden realizar.
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.
Explorar más
Para obtener más información sobre el despliegue de SOA en Kubernetes, consulte estos recursos adicionales:
- Documentación de Oracle WebLogic Server Kubernetes Operator
- Operador de Kubernetes de Oracle WebLogic Server en GitHub
- Documentación de Oracle WebLogic Server 12.2.1.4.0
- fmw-kubernetes en GitHub