¿Qué es Kubernetes?
Kubernetes es una herramienta de orquestación de contenedores. Fue desarrollado por Google para automatizar y gestionar el despliegue de contenedores —paquetes portátiles de software que contienen todos los binarios, bibliotecas, archivos de configuración y otras dependencias necesarias para que se ejecute ese programa de software—.
¿Qué es la orquestación de contenedores?
La orquestación de contenedores se refiere a la automatización de las tareas comunes de administración de contenedores, como el despliegue, el escalamiento y las redes. En lugar de desplegar manualmente sus microservicios y aplicaciones web en producción, las herramientas de orquestación de contenedores como Kubernetes le permiten crear flujos de trabajo automatizados.
Anatomía de un clúster de Kubernetes
Kubernetes cuenta con una serie de características que le ayudan a aprovisionar e implementar sus propios programas de software contenedorizados.
La mejor manera de entender Kubernetes es entender lo que se obtiene en un clúster típico de Kubernetes:
- Pods: La unidad de computación desplegable más pequeña que puede crear y administrar en Kubernetes , desde un único contenedor hasta múltiples contenedores que se ejecutan en el mismo almacenamiento compartido/recursos de red.
- Nodos: Las máquinas de los trabajadores (virtuales o físicas) que alojan los pods que conforman una carga de trabajo de la aplicación. Cada nodo tiene al menos un Kubelet, un agente que garantiza que los contenedores descritos se ejecutan en el pod en un clúster.
- Plano de control: La capa de orquestación que expone la API que utiliza para administrar sus contenedores, pods y nodos.
- Complementos: Características como el DNS de clúster amplían la funcionalidad de un clúster y proporcionan un servidor DNS o una interfaz de usuario web que puede usarse como panel de control de uso general para supervisar y resolver problemas de las aplicaciones que se ejecutan en el clúster o para el propio clúster.