Despliegue WordPress con MySQL Database Service en Oracle Cloud Infrastructure Kubernetes Engine
Aproveche las ventajas de flexibilidad y costos de alojar sus páginas web y blogs de WordPress en Oracle Cloud Infrastructure (OCI).
- Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine u OKE) para proporcionar un despliegue de Wordpress altamente escalable y disponible sin necesidad de desplegar o gestionar un cluster de Kubernetes.
- MySQL Database Service para proporcionar una base de datos de alto rendimiento para la aplicación WordPress sin necesidad de aprovisionar o gestionar la base de datos.
- Servicio de almacenamiento de archivos para el almacenamiento de persistencia compartido (necesario para WordPress) al que pueden acceder todas las instancias de la aplicación para que tenga alta disponibilidad.
Arquitectura
Esta arquitectura de referencia muestra un despliegue de WordPress escalable y de alta disponibilidad en un cluster de OKE. Este despliegue utiliza el servicio File Storage como almacenamiento persistente y MySQL Database Service como base de datos. Se asigna un equilibrador de carga con una IP externa para proporcionar acceso a la aplicación WordPress.
El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de la ilustración oci-mysql-oke-wordpress-arch.png
oci-mysql-oke-wordpress-arch-oracle.zip
En la siguiente sección, se describe esta arquitectura de referencia:
En el cluster de OKE, puede seleccionar el número de pods de aplicación WordPress para el despliegue. Cada pod requiere acceso a almacenamiento compartido persistente. Para proporcionar el almacenamiento, se crea en el cluster un recurso de clase de almacenamiento que se asigna a un recurso compartido NFS en File Storage. A continuación, un recurso de volumen persistente hace que el almacenamiento ofrecido por la clase de almacenamiento sea consumible por los recursos del cluster. Se crea un recurso persistente-volume-claim (PVC) para indicar que los pods desean utilizar el almacenamiento. La PVC se asigna en los pods de aplicación WordPress para acceder al almacenamiento.
La base de datos de la aplicación WordPress utiliza MySQL Database Service. La instancia de MySQL Database Service se crea y gestiona desde el cluster de OKE como un recurso personalizado definido con OCI Service Operator for Kubernetes (OSOK).
MySQL Database Service se despliega con alta disponibilidad (HA) mediante el uso de tres instancias de MySQL Database Service desplegadas en distintos dominios de disponibilidad o dominios de errores. La aplicación WordPress se conecta a un único punto final para leer y escribir en la base de datos. En caso de fallo, el sistema de base de datos realizará automáticamente un failover en una instancia secundaria sin volver a configurar la aplicación WordPress.
Se crea y gestiona un equilibrador de carga desde el cluster de OKE como recurso de servicio con el tipo LoadBalancer.
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.
- 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.
- Oracle MySQL Database Service
Oracle MySQL Database Service es un servicio de base de datos de Oracle Cloud Infrastructure (OCI) totalmente gestionado que permite a los desarrolladores desarrollar e implementar rápidamente aplicaciones nativas seguras en la nube. Optimizado y disponible exclusivamente en OCI, Oracle MySQL Database Service está 100 % creado, gestionado y soportado por los equipos de ingeniería de OCI y MySQL.
Oracle MySQL Database Service cuenta con un motor de análisis integrado y de alto rendimiento (HeatWave) para ejecutar análisis sofisticados en tiempo real directamente en una base de datos MySQL operativa.
- 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.
- WordPress sistema de gestión de contenido (CMS)
WordPress CMS le permite crear un sitio de blog totalmente funcional o un sitio web de uso general.
- Gateway de traducción de direcciones de red (NAT)
Un gateway de NAT permite que los recursos privados de una VCN accedan a hosts en Internet, sin exponer dichos recursos a conexiones de Internet entrantes.
- Gateway de servicio
El gateway de servicios proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico de la VCN al servicio Oracle viaja por el tejido de red de Oracle y no atraviesa Internet.
- Registro
Oracle Cloud Infrastructure Registry es un registro gestionado por Oracle que permite simplificar el desarrollo y el flujo de trabajo de producción. El registro facilita el almacenamiento, el uso compartido y la gestión de artefactos de desarrollo, como imágenes de Docker. La arquitectura altamente disponible y escalable de Oracle Cloud Infrastructure garantiza que pueda desplegar y gestionar sus aplicaciones de forma fiable.
- Equilibrador de carga
El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada del tráfico desde un único punto de entrada a varios servidores en el backend.
- Tabla de rutas
Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de una VCN, normalmente a través de gateways.
- Lista de seguridad
Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.
Recomendaciones
- 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.
- Ancho de banda de equilibrador de carga
Al crear el equilibrador de carga, puede seleccionar una unidad predefinida que proporcione un ancho de banda fijo o especificar una unidad personalizada (flexible) en la que defina un rango de ancho de banda y permita que el servicio amplíe el ancho de banda automáticamente en función de los patrones de tráfico. Con cualquiera de los enfoques, puede cambiar la unidad en cualquier momento después de crear el equilibrador de carga.
- Listas de seguridad
Utilice listas de seguridad para definir las reglas de entrada y salida que se aplican a toda la subred.
- Oracle MySQL Database Service
En esta arquitectura, WordPress CMS almacena los datos relacionales en Oracle MySQL Database Service. Recomendamos utilizar la última versión.
Consideraciones
Al desplegar WordPress en Oracle Cloud, tenga en cuenta lo siguiente en cuanto a escalabilidad y disponibilidad:
- Disponibilidad de aplicación
La aplicación WordPress se despliega con varios pods en el despliegue para proporcionar alta disponibilidad.
- Disponibilidad y escalabilidad de mi servicio de base de datos SQL
MySQL Database Service, que se muestra en la arquitectura de alta disponibilidad, utiliza la opción de alta disponibilidad incorporada MySQL, que crea tres instancias y las coloca en dominios de errores diferentes.
Despliegue
Esta arquitectura de referencia se puede desplegar y gestionar desde el cluster de OKE sin utilizar la consola o la CLI de OCI y automatizada con un gráfico de Helm. El gráfico de Helm de ejemplo para esta arquitectura de referencia muestra cómo iniciar un despliegue de WordPress mediante un sistema de MySQL Database como base de datos en un cluster de Kubernetes desplegado en OCI para alta disponibilidad o sin HA. Puede descargar el código de GitHub y personalizarlo para que se adapte a sus necesidades específicas.
- Vaya a GitHub - HA o GitHub - non-HA.
- Clone o descargue el repositorio en su computadora local.
- Siga las instrucciones del documento
README
.