Skip to main content

Docker y Kubernetes

Cuando el software se desarrolla y se prueba en un entorno de computación y, posteriormente, se migra a otro, es probable que surjan problemas si el entorno de software de respaldo no es idéntico (por ejemplo, cuando se desarrolla software en una computadora portátil y se mueve a una máquina virtual [VM] o se pasa de un sistema operativo Linux a un sistema operativo Windows).

Los contenedores de software resuelven los problemas de migración que se pueden producir cuando una aplicación pasa de un entorno a otro.  

Los contenedores encapsulan una aplicación como un único paquete con otros factores binarios relacionados, además de bibliotecas, archivos de configuración y cualquier otra dependencia que se requiera para su ejecución. Puede usar contenedores para ejecutar un microservicio pequeño o una aplicación grande. 

Entre los casos de uso comunes de los contenedores, se incluyen los siguientes:

  • Aplicaciones existentes que se pueden cargar y trasladar a las arquitecturas de nube más recientes. 
  • Trabajos y tareas repetitivas, que se pueden manejar rápidamente con nuevos contenedores. 

En la siguiente lista, se muestran ejemplos de software para motores de contenedores populares:

  • Docker 
  • AWS Fargate 
  • LXC Linux Containers  
  • Rkt 
  • Apache Mesos 

Docker

El motor de Docker es una tecnología de contenerización de código abierto para crear y contenedorizar aplicaciones.  

Se puede usar para la entrega rápida y consistente de aplicaciones, la implementación y el escalamiento, además de la ejecución de más cargas de trabajo en el mismo hardware. 

El motor de Docker usa una arquitectura cliente-servidor con un cliente Docker y un servicio Docker (Docker Host) que usa comunicación API REST. El registro de Docker (Docker Hub) almacena imágenes de Docker públicas y privadas.  

Docker build architecture
En este diagrama, los usuarios de Docker se comunican con Docker a través de una interfaz de línea de comandos (CLI) (cliente) que les permite enviar comandos de Docker para construir, extraer, introducir, etc., al servicio de Docker. Si la imagen en el disco local no es la más reciente, el servicio de Docker toma las imágenes de Docker de Docker Hub; de lo contrario, toma una imagen local del disco y crea imágenes de contenedor según lo solicitado por el cliente.  

Cuando se instala Pega Platform, requiere el uso de un servidor web y un servidor de base de datos. Cada uno de estos servidores se ejecuta en su propio contenedor: uno para el servidor de aplicaciones y otro para el servidor de base de datos. El servidor de base de datos y las bibliotecas necesarias, junto con demás componentes, se incluyen en el primer contenedor. El servidor de aplicación Tomcat junto con un archivo de biblioteca de controladores de base de datos para la conexión de la base de datos se instalan en el segundo contenedor.  

En el ejemplo de instalación de Pega Platform™, puede ver los siguientes beneficios cuando se usan contenedores, como Docker:

  • Aumenta o disminuye automáticamente el escalamiento de servidores web según la distribución de cargas de trabajo.
  • Se crea automáticamente un nuevo servidor web cuando el servidor anterior falla.
  • Se supervisa el estado del contenedor.

Organización de contenedores

La organización de contenedores entra en juego cuando la cantidad de contenedores en un conducto aumenta considerablemente, sobre todo en el conducto de continua integración y continua entrega (CI/CD). La organización de contenedores es un método para gestionar, programar, equilibrar la carga, conectar en red y supervisar los contenedores que están automatizados.

Entre las herramientas populares de organización de contenedores, se incluyen:

  • Kubernetes
  • Docker Swarm
  • Apache Mesos

Kubernetes

Kubernetes es un motor de organización de contenedores de código abierto que automatiza la implementación y escala la gestión de contenedores. El proyecto de código abierto está alojado por Cloud Native Computing Foundation (CNCF).

Vamos a familiarizarnos con algunos de los términos que se usan para Kubernetes en el contexto de la organización de Pega Platform.

La organización de Pega Platform comienza con “pods” (grupos). Los “pods” son imágenes de Docker que proporciona Pega. Podemos definir el conjunto lógico de “pods” y la política para acceder a ellos mediante Kubernetes. El acceso externo también se puede gestionar usando “ingreso”. Kubernetes también admite los cambios en la configuración con “ConfigMap” y puede utilizar objetos basados en XML, como el archivo prconfig.xml.

Kubernetes
En este diagrama, el equilibrador de carga o el ingreso de Kubernetes se conecta a los nodos de Pega expuestos para permitirle al usuario acceder al clúster. De forma predeterminada, Pega se implementa con tres niveles de nodos de Pega (Web, Lote, Flujo). Un pod es una unidad escalable compuesta por uno o más contenedores que tienen una configuración única definida por un conjunto de réplica. Las imágenes de Docker se ejecutan en cada uno de estos contenedores.

This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

¿Le ha resultado útil este contenido?

El 100% ha encontrado útil este contenido.

¿Quiere ayudarnos a mejorar este contenido?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice