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.
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.
This Topic is available in the following Module:
¿Quiere ayudarnos a mejorar este contenido?