0% encontró este documento útil (0 votos)
44 vistas9 páginas

Implementación de Microservicios con Docker y Kubernetes

Este documento describe la instalación y uso de Docker y Kubernetes para implementar microservicios. Explica cómo instalar Docker y habilitar Kubernetes en Docker Desktop, crear una imagen Docker para un microservicio, desplegar el servicio en un clúster local de Kubernetes usando YAML, y verificar el despliegue con comandos como kubectl get pods.

Cargado por

Jeanexe Uchiha
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
44 vistas9 páginas

Implementación de Microservicios con Docker y Kubernetes

Este documento describe la instalación y uso de Docker y Kubernetes para implementar microservicios. Explica cómo instalar Docker y habilitar Kubernetes en Docker Desktop, crear una imagen Docker para un microservicio, desplegar el servicio en un clúster local de Kubernetes usando YAML, y verificar el despliegue con comandos como kubectl get pods.

Cargado por

Jeanexe Uchiha
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD TÉCNICA DE MANABÍ

FACULTAD DE CIENCIAS INFORMÁTICAS


CARRERA DE TECNOLOGÍA DE LA INFORMACIÓN

MATERIA

DESARROLLO DE APLICACIONES WEB

TEMA

Microservicios

DOCENTE

Ing. Edison Solorzano Solorzano

ESTUDIANTE

Millet Rodríguez Jean

Diciembre 8, 2023

Universidad Técnica de Manabí


Docker
Docker es una plataforma de código abierto que simplifica el despliegue de
aplicaciones al encapsularlas en contenedores. Un contenedor Docker es una unidad
estándar de software que incluye todo lo necesario para ejecutar una aplicación: código,
bibliotecas, herramientas y configuraciones. Funciona mediante la virtualización a nivel
de sistema operativo, permitiendo que las aplicaciones se ejecuten de manera aislada y
consistente en cualquier entorno. Sus ventajas incluyen portabilidad, eficiencia en
recursos, rápida implementación y gestión simplificada. Sin embargo, puede presentar
desafíos de seguridad si no se configura correctamente. Docker se utiliza ampliamente
en el desarrollo ágil, la creación de entornos de pruebas, la implementación de
microservicios y la orquestación de contenedores en entornos de producción a gran
escala. (Carolina, 2023)

Kubernetes
Kubernetes es una plataforma de código abierto diseñada para automatizar la
implementación, escalado y gestión de aplicaciones en contenedores. Ofrece un entorno
robusto para coordinar múltiples contenedores Docker o de otro tipo, permitiendo la
administración eficiente de cargas de trabajo en entornos distribuidos. Funciona
mediante la organización de contenedores en clústeres, proporcionando herramientas
para la automatización de despliegues, escalado dinámico, administración de
almacenamiento y auto-recuperación. Sus ventajas radican en la escalabilidad, la alta
disponibilidad, la portabilidad y la capacidad de actualización sin interrupciones. Sin
embargo, su complejidad puede representar una curva de aprendizaje inicial para los
usuarios. Kubernetes se utiliza ampliamente en entornos de producción para orquestar y
gestionar aplicaciones en contenedores, ofreciendo una base sólida para la
implementación de arquitecturas de microservicios y la gestión eficiente de cargas de
trabajo en la nube. (Kubernetes, 2022)

Instalación de Docker y Kubernetes


Visitamos el sitio web oficial de Docker y descargamos la versión adecuada para
nuestro sistema operativo.

Universidad Técnica de Manabí


Seguimos las instrucciones del instalador descargado:

En Docker Desktop, en la opción "Kubernetes" habilitamos la opción “Enable


Kubernetes”. Esta opción te permite activar o desactivar la funcionalidad de Kubernetes
en Docker Desktop. Cuando está habilitada, Docker Desktop inicia un clúster de un solo
nodo de Kubernetes cuando arrancamos Docker.

Universidad Técnica de Manabí


Utilizamos los comandos docker ps y kubectl get nodes en el PowerShell.

docker ps: Es útil para ver qué contenedores están actualmente en marcha, así
como para obtener información detallada sobre ellos, como su ID, la imagen que están
utilizando, el estado, los puertos expuestos y sus nombres. Este comando es esencial
para el monitoreo y la gestión de contenedores Docker locales. (keepcoding, 2022)

kubectl get nodes: Este comando pertenece a Kubernetes y se utiliza para


obtener información sobre los nodos del clúster de Kubernetes. En lugar de mostrar
contenedores individuales, muestra los nodos disponibles en el clúster, indicando su
estado, roles (como nodos de control o de trabajo), tiempo de actividad (AGE), y la
versión de Kubernetes que están ejecutando. Es útil para verificar el estado y la
disponibilidad de los nodos en el clúster. (Portillo, 2023)

Universidad Técnica de Manabí


Creación de un servicio
Abrimos el terminal y creamos un nuevo directorio para el microservicio, por
ejemplo: mkdir microservicio. Ingresamos al directorio recién creado: cd microservicio.

En el directorio podemos agregar el código fuente, archivos de configuración y


cualquier otra dependencia necesaria para el servicio.

Dockerizar el servicio
Utilizamos un editor de texto para crear un archivo llamado Dockerfile en el
directorio del microservicio y definimos los pasos para construir la imagen del
contenedor. Por ejemplo:

Iniciamos sesión correctamente en Docker Hub utilizando el comando docker


login en el terminal y proporcionando las credenciales de Docker Hub.

Ejecutamos el comando docker build -t jeanexe/imagen1:latest .para construir la


imagen del contenedor.

Universidad Técnica de Manabí


Una vez que la imagen a sido construida con el tag correcto, podemos realizar el
docker push para subirla al repositorio en Docker Hub

Definir recursos de Kubernetes


Creamos un archivo de configuración YAML con el nombre deployment.yaml,
en el directorio del microservicio y definimos los recursos de Kubernetes necesarios
para desplegar tu microservicio.

Ejecutamos el comando kubectl apply -f deployment.yaml para desplegar el


servicio en el clúster local de Kubernetes.

Verificación
Usamos kubectl get pods para obtener una lista de pods desplegados.

Universidad Técnica de Manabí


Universidad Técnica de Manabí
CONCLUSIONES
La implementación de microservicios a través de Docker y Kubernetes ofrece
una arquitectura flexible y escalable para el desarrollo y despliegue de aplicaciones.
Esta combinación permite la modularidad, facilitando la gestión independiente de
componentes, y brinda una mayor eficiencia en el despliegue y escalabilidad. La
separación de servicios en contenedores con Docker y su orquestación con Kubernetes
han demostrado ser fundamentales para la gestión de aplicaciones complejas en
entornos de producción.

RECOMENDACIONES
Para maximizar el potencial de los microservicios con Docker y Kubernetes, es
esencial implementar un sólido conjunto de prácticas. Se recomienda priorizar el
monitoreo continuo del rendimiento y la salud de los servicios desplegados, además de
establecer estrategias de seguridad robustas, incluyendo políticas de acceso y
encriptación de datos. La automatización de pruebas y flujos de implementación
(CI/CD) asegurará la calidad del código y la eficiencia en los despliegues. Asimismo, se
aconseja fomentar una cultura de colaboración y aprendizaje continuo para optimizar la
gestión y evolución de los microservicios.

Universidad Técnica de Manabí


BIBLIOGRAFÍA
Carolina, D. (26 de septiembre de 2023). hostinger. Obtenido de hostinger:
https://www.hostinger.es/tutoriales/que-es-docker

keepcoding. (25 de abril de 2022). Obtenido de keepcoding:


https://keepcoding.io/blog/como-usar-docker-ps/

Kubernetes. (17 de julio de 2022). kubernetes. Obtenido de kubernetes:


https://kubernetes.io/es/docs/concepts/overview/what-is-kubernetes/

Portillo, S. (23 de marzo de 2023). tutorialesit. Obtenido de tutorialesit:


https://tutorialesit.com/comandos-utiles-para-la-gestion-de-nodos-en-
kubernetes/#:~:text=kubectl%20get%20nodes%3A%20Este%20comando%20se
%20utiliza%20para,obtener%20informaci%C3%B3n%20detallada%20sobre
%20un%20nodo%20en%20particular.

Universidad Técnica de Manabí

También podría gustarte