Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > DevOps

¿Qué es Kubernetes?

Alura
Nico Steppat
Nico Steppat
06/12/2023

Compartir

Para comprender Kubernetes y lo que es, comencemos hablando brevemente sobre Docker. Docker es la herramienta estándar para implementar una aplicación utilizando contenedores. En otras palabras, Docker se basa en el formato más popular para empaquetar una aplicación y es el motor de contenedores más utilizado.

La gran ventaja de un contenedor es encapsular todas las dependencias necesarias para ejecutarlo, como bibliotecas, el tiempo de ejecución y el código de la aplicación. Todo esto en un solo paquete llamado imagen, que se puede versionar y distribuir fácilmente.

img1

Docker ha revolucionado la forma de distribuir y ejecutar aplicaciones. Sin embargo, una vez que se tiene un contenedor en ejecución, todavía hay otras cuestiones por resolver. Por ejemplo, si un contenedor falla durante la ejecución, ¿cómo garantizar que se reinicie automáticamente (alta disponibilidad)? Y si necesitamos 4 contenedores, ¿cómo automatizar y asegurar que siempre haya 4 en ejecución (escalabilidad)? Además, si queremos algo elástico, como tener al menos 1 contenedor pero con la posibilidad de crecer hasta 5 en ejecución, ¿cómo hacerlo? Estas son solo algunas de las preguntas planteadas; hay muchas otras (red, volúmenes, monitoreo, actualizaciones, etc.) que Docker por sí solo no resuelve...

La preocupación aumenta aún más si consideramos una arquitectura basada en Microservicios. Es decir, la aplicación que antes estaba contenida en un solo contenedor ahora se divide en varios que deben interactuar de manera confiable pasando por varios hosts. Y, por supuesto, garantizando alta disponibilidad y escalabilidad. La complejidad solo aumenta...

Observen aquí la necesidad de tener un "gestor de contenedores", alguien que esté "al tanto" de los contenedores en ejecución, asegurando que el sistema en su conjunto continúe funcionando según lo planeado. Teniendo esto en cuenta, ¿no existe una herramienta que asuma esas responsabilidades? ¿Acaso Google no tiene algo para ayudar? Quizás un proyecto de código abierto, muy popular y que también funcione en los principales proveedores de la nube.

img2

Bueno, el nombre del artículo ya dio una pista, pero lo que estamos buscando se llama Kubernetes, creado por Google con grandes contribuciones de Red Hat y hoy en día es uno de los proyectos de código abierto más populares en Github. El nombre Kubernetes suena un poco extraño, ya que es una palabra griega que significa "timonel" o "piloto" (el barco de carga pilotado por Kubernetes).

img3

Kubernetes viene con una gran experiencia de Google y no deja de crecer en funcionalidades y usuarios. Es él quien gestiona los contenedores en ejecución, por lo que también se le llama Orquestador de Contenedores. A través de él, podemos definir el estado de un sistema completo, por ejemplo, basado en Microservicios, siguiendo las mejores prácticas de infraestructura como código, permitiendo el equilibrio de carga, alta disponibilidad, actualizaciones por lotes, rollbacks y mucho más.

Hoy en día, los principales proveedores de la nube como Azure, AWS, IBM, Red Hat o Google brindan soporte a Kubernetes. Además, existe una implementación local llamada Minikube que simula un clúster Kubernetes, ideal para pruebas y estudios. Lo más interesante es que las configuraciones locales, que definen el estado de la aplicación, también se ejecutan en Kubernetes en la nube. Es decir, podemos probar el orquestador localmente usando Minikube y luego publicar el sistema en AWS o Azure con solo algunas modificaciones.

Finalmente, es importante destacar que Kubernetes no es el único orquestador de contenedores en el mercado. Hay una solución de la propia empresa Docker llamada Docker Swarm con el mismo propósito, gestionar y cuidar los contenedores en ejecución (la segunda imagen es el logotipo de Docker Swarm). Cuál de los dos orquestadores es mejor o más fácil de usar es otra discusión, pero el mercado parece adoptar más a Kubernetes que a Docker Swarm.

Este articulo fue adecuado para Alura Latam por: Adriana Oliveira

Nico Steppat
Nico Steppat

Nico trabalha na área de tecnologia há mais de 20 anos e atuou como desenvolvedor e instrutor no Brasil e na Alemanha. Participa ativamente na comunidade e com uma experiência de mais de 12 anos em educação, coordena hoje equipes de instrutores e é responsável pela curadoria de cursos online na Alura.

Artículo Anterior
Open Source: Una breve introducción
Siguiente Artículo
Nube: qué es, historia y guía de la computación en la nube

Ver otros artículos sobre DevOps

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Powered by

Caelum

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast