Watch aprende docker desde cero a swarm y kubernetes

Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Overview

Aprende a usar Docker desde lo más básico hasta llegar a Docker Compose, Docker Swarm y Kubernetes

What you'll learn:

  • Completamente ACTUALIZADO en Mayo de 2022
  • Aprenderás a instalar y configurar Docker para Linux y para Windows
  • Usarás los comandos y herramientas más usados en este tipo de infraestructura
  • Crearás contenedores de distinto tipo
  • Crearás imágenes personalizadas para generar contenedores
  • Manejarás Docker Hub y subirás tus imágenes a ese repositorio
  • Usarás Docker Compose para orquestar servicios entre contenedores
  • Veremos como se crea un cluster con Docker Swarm
  • Aprenderás las bases de Kubernetes y como trabajar con este orquestador de contenedores para gestionar clusters
  • Numerosas prácticas en cada sección para que puedas poner en marcha lo aprendido

En este curso aprenderás a trabajar con la interesante infraestructura de contenedores Docker. Esta tecnología te permitirá mejorar en tus carrera labora y profesional, ya que es una de las más demandadas en estos momentos, sobre todo porque es usada para Devops y Desarrolladores en entornos de microservicios y similares

EL CURSO ESTÁ COMPLETAMENTE ACTUALIZADO A MAYO DEL 2022. HE REGRABADO Y AMPLIADO TODAS LA SECCIONES

Empezaremos desde lo más básico hasta llegar a crear entornos complejos con Docker Compose y clusters con Docker Swarm y KUBERNETES (este último punto es solo una introducción a la tecnología, no se ve al completo)

Iremos paso a paso y realizando ejemplos para que aprendas todos los conceptos y puedas probarlo por tí mismo.Hay múltiples prácticas con contenedores como WordPress, Mysql, Apache, PostgreSQL, Drupal, stack MEAN, etc....

¿Qué puntos vamos a ver durante la formación?

  • Conceptos y características de Docker

  • Verás como instalar Docker en Linux y Window

  • Crearás contenedores

  • Aprenderás los comandos más usados de Docker

  • Usarás todos los elementos de red de Docker

  • Verás como crear y trabajar con imágenes

  • Aprenderás ejemplos de integración continua

  • Aprenderás a orquestar múltiples contenedores con Docker Compose

  • Introducción a Docker swarm y Kubernetes (solo vemos las bases, no vemos el producto al completo)

  • Crearás clusteres de docker con Docker Swarm

  • Aprenderás las bases de Kubernetes

  • Etc.....

Y como siempre, por favor si tienes cualquier duda o pregunta durante el curso, o piensas que hay algo in correcto, te ruego te pongas en contacto conmigo para solucionarlo.

¡¡¡¡¡DISFRUTA DEL CURSO!!!!!

Sergio

Apasoft Training

Taught by

Apasoft Training

Reviews

4.7 rating at Udemy based on 3039 ratings

Start your review of Aprende Docker, Compose y Swarm (2022)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Docker Swarm Mode es el orquestador de contenedores propio de Docker. Swarm, en inglés, significa "enjambre", e indica de forma visual bastante bien cuál es la idea.

Aunque finalmente Docker se ha rendido a la evidencia de que Kubernetes es el líder en el mercado de orquestadores (y lo ha integrado con Docker Desktop), sigue manteniendo el soporte a Swarm por razones obvias, y lo mantiene a través e un proyecto Open Source: swarmkit.

La siguiente imagen (sacada de la documentación de Docker) te ayudará a entender mejor el rol de cada producto de la empresa:

  • Docker Enterprise Edition: manejo de contenedores con necesidades empresariales, como seguridad o capacidad de gestión.
  • Docker Community Edition: manejo de contenedores para desarrollo.
  • containerd: motor de ejecución de contenedores.
  • Swarm y Kubernetes: orquestadores.

Observa como, en la imagen, Docker coloca Swarm y Kubernetes uno al lado de otro: la idea es que juegan el mismo rol. Compiten entre ellos y puedes usar el que prefieras.

En este artículo vamos a ver una breve introducción a Swarm para conocer cómo funciona y cuáles son sus ventajas e inconvenientes. Aunque Kubernetes es el estándar de facto en orquestadores en la actualidad, Swarm también tiene sus usos y puede venirte muy bien para ciertos tipos de usos y por su sencillez.

Comparación entre Swarm y Kubernetes

Vamos a comparar (someramente) Swarm con Kubernetes. La principal diferencia es que Swarm usa el modelo de aplicación de Compose mientras que Kubernetes usa el suyo propio.

A priori usar el modelo de Compose ofrece varias ventajas:

  • Uso de mismos conceptos en desarrollo (Compose) y en producción (Swarm)
  • No hay dobles configuraciones (en Kubernetes debemos mantener los ficheros Compose y los ficheros YAML de Kubernetes)

Pero la realidad no es tan sencilla. Emplear el modelo de Compose para Swarm implica un acoplamiento entre ambos productos: si no se puede hacer en Compose, no se puede hacer en Swarm. Por su parte, Kubernetes parte de un modelo radicalmente distinto, lo que le ha permitido saltarse muchas de las limitaciones que tenía Compose y ofrecer un modelo de aplicación muy poderoso. Por ejemplo, en Swarm es imposible disponer algo equivalente a un pod multicontenedor, porque en Compose un servicio se compone siempre de un contenedor y, por lo tanto, en Swarm también.

Vamos a ver algunos términos de Swarm y cómo los podemos comparar con su "equivalente más cercano" en Kubernetes.

  • Nodo (node): cada una de las máquinas que componen el clúster. Equivale al concepto de nodo en Kubernetes.
  • Swarm: es el clúster, entendido como conjunto de nodos.
  • Nodos "manager": nodos que se encargan de tareas de gestión del clúster. Equivale a los nodos "master" en Kubernetes.
  • Nodos "worker": nodos que ejecutan contenedores. Equivalente a los nodos minion de Kubernetes.
  • Servicio: un contenedor en un número determinado de instancias. No hay una equivalencia clara con ningún elemento de Kubernetes.
  • Tarea (task): unidad atómica de un servicio. Si un servicio se escala para tener 2 instancias, esto genera dos tasks. Equivale al pod de Kubernetes.

Comparación del modelo de aplicación

En Kubernetes una aplicación se define como un conjunto de pods (que se pueden crear directamente o usando deployments) que ejecutan contenedores. Los pods son la unidad atómica de despliegue y se exponen internamente (y/o externamente) a través de servicios. Un servicio es la "cara externa" de un conjunto de pods y los agrupa bajo una única IP.

En Swarm una aplicación se define como un conjunto de servicios. Cada servicio genera una o más tasks que son ejecutadas en los distintos nodos.

Comparación del modelo de escalabilidad de la aplicación

En Kubernetes una aplicación se escala usando el ReplicaSet que se encarga de garantizar que en todo momento hay un determinado número de instancias de un tipo de pod. El ReplicaSet se configura a través del objeto deployment asociado.

En Swarm una aplicación se escala manejando las instancias de un servicio. Los servicios pueden ser globales o replicados. Los servicios globales ejecutan una instancia en cada uno de los nodos, mientras que los replicados ejecutan N réplicas (tasks) entre los distintos nodos.

Otras comparaciones

  • Healthchecks: Kubernetes soporta dos tipos de healthchecks (readiness y liveness) y utiliza los healthchecks definidos en la imagen (usando HEALTHCHECK en el Dockerfile). Por su parte, Swarm soporta healtchecks a nivel de servicio y las tasks se reinician en función de si se cumple o no.
  • Almacenamiento (volúmenes): Kubernetes tiene dos modelos de volúmenes (normales y persistentes) y una API para definir volúmenes y sus peticiones. Swarm usa el modelo de Docker de montar sistemas de ficheros externos en un contenedor.
  • Escalado: es difícil de decir. Como referencia el número máximo de nodos en Kubernetes es de 5.000, con un total de pods de 150.000, ejecutando un máximo de 300.000 contenedores. Por su parte, en este post se menciona Swarm escalado con 30.000 contenedores en 1.000 nodos.

Ventajas de Kubernetes sobre Swarm

  • Sistema muy maduro, que proviene de la larga experiencia de Google en el uso interno de contenedores (Kubernetes es la evolución de Borg, un orquestador propio de Google).
  • Soporte en muchísimos proveedores de cloud y de arquitectura (GCE, Azure, Amazon, IBM Cloud, DC/OS, ...).
  • Modelo de aplicación más potente que el de Compose.
  • Soporte para otros sistemas de contenedores más allá de Docker.
  • Soporte para autoescalado de pods. En Swarm los servicios se escalan manualmente.

Ventajas de Swarm sobre Kubernetes

  • Usa el mismo modelo de aplicación y ficheros que Compose.
  • Usa la misma CLI que Compose.

Situación actual

La situación actual, como ya se ha comentado, es que Kubernetes ha ganado la batalla de los orquestadores. El mayor impedimento para su uso (instalación compleja) se ha limitado mucho gracias a proveedores de cloud que ofrecen clústeres de k8s administrados.

Incluso Docker se ha rendido a la evidencia del liderazgo de Kubernetes ofreciendo soporte para este en Docker Engine y Docker Desktop y poniéndolo a la par con Swarm.

No obstante, Swarm puede hacer valer su sencillez y compatibilidad con la convifuración de Docker Componse para despliegues pequeños en máquinas propias, por ejemplo, por lo que puede ser interesante conocerlo.

Ahora que ya conoces Swarm y cómo se compara con Kubernetes, en la segunda parte puedes ver en la práctica cómo utilizarlo para poner en marcha aplicaciones escalables.

Fecha de publicación: 25 de mayo de 2021

Eduard es ingeniero informático, atesora muchos años de experiencia como desarrollador y ha sido galardonado como MVP por Microsoft en diez ocasiones. Está especializado en el desarrollo de aplicaciones web y móviles. Mantiene un conocido blog sobre desarrollo en .NET en general y ASP.NET MVC en particular. Colabora con la comunidad impartiendo charlas en formato webcast y en eventos de distintos grupos de usuarios. Puedes seguirlo en Twitter en @eiximenis. Ver todos los posts de Eduard Tomás

Archivado en: Herramientas

¿Te ha gustado este post?
Pues espera a ver nuestro boletín...

La mejor formación online para desarrolladores como tú

¿Cuándo usar Docker y cuando Kubernetes?

Docker se usa para aislar su aplicación en contenedores, mientras que Kubernetes es una herramienta de orquestación / programador de contenedores y se usa para implementar y escalar su aplicación mediante la administración de múltiples contenedores implementados en múltiples máquinas host.

¿Qué diferencia hay entre Docker y Kubernetes?

Docker es una plataforma de contenedorización y un tiempo de ejecución de contenedores, mientras que Kubernetes es una plataforma para ejecutar y gestionar contenedores a partir de numerosos tiempos de ejecución de contenedores.

¿Cómo iniciar Docker Swarm?

Procedimiento.
Inicialice el clúster Swarm en el primer host gestor de Docker y haga que esta máquina sea un gestor ejecutando el comando siguiente: $ sudo docker swarm init --advertise-addr <dirección-IP-del-gestor>.
Nota: El comando de inicialización devuelve distintos tokens para unirse como nodo gestor o trabajador..

¿Cómo empezar con Docker?

Será el entorno Docker el que contenga Python para poder ejecutar tu código..
Instala Docker en tu máquina. Para Ubuntu: ... .
Crea tu proyecto. Para crear tu primera aplicación Docker, te invito a crear una carpeta en tu computadora. ... .
Edita el archivo Python. ... .
Edita el archivo Docker. ... .
Crea la imagen Docker. ... .
Corre la imagen Docker..

Toplist

Última postagem

Tag