¿Qué son los contenedores?
En pocas palabras, los contenedores son una forma estándar de empaquetar aplicaciones y todas sus dependencias para que pueda mover sin problemas las aplicaciones entre entornos de ejecución. Al empaquetar el código, las dependencias y las configuraciones de una aplicación en un bloque de construcción fácil de usar, los contenedores le permiten dar pasos importantes para acortar el tiempo de implementación y mejorar la confiabilidad de la aplicación. Por supuesto, para poder usar sus contenedores de manera más efectiva, deberá orquestar sus aplicaciones en contenedores, que es donde entran en juego Kubernetes y Docker Swarm.
¿Qué es Kubernetes?
Kubernetes es desarrollado por la comunidad con la intención de abordar las necesidades de gestión y escalabilidad de contenedores. En los primeros días de Kubernetes, los colaboradores de la comunidad aprovecharon su conocimiento de la creación y ejecución de herramientas internas, como Borg y Omega. Con la llegada de Cloud Native Computing Foundation (CNCF) en asociación con Linux Foundation, la comunidad adoptó Open Governance para Kubernetes. IBM, como miembro fundador de CNCF, contribuye activamente a los proyectos nativos de la nube de CNCF, junto con otras empresas como Google, Red Hat, Microsoft y Amazon.
Kubernetes es una herramienta de gestión de contenedores de código abierto para esos contenedores importantes y sus complejas cargas de trabajo de producción. Con Kubernetes, los desarrolladores y los equipos de DevOps pueden programar, implementar, administrar y descubrir aplicaciones de alta disponibilidad mediante el uso de la flexibilidad de los clústeres. Un clúster de Kubernetes está formado por hosts informáticos que se denominan nodos de trabajo. Estos nodos trabajadores son administrados por un maestro de Kubernetes que controla y monitorea todos los recursos en el clúster. Un nodo puede ser una máquina virtual o una máquina física completa.
Ventajas de Kubernetes
Comunidad de código abierto que es muy activa en el desarrollo de la base de código.
Conferencias de KubeCon de rápido crecimiento durante todo el año que están más que duplicando los números de asistencia
Mayor adopción del mercado
Disponible en la nube pública o en las instalaciones: ofertas administradas o no administradas de todos los grandes proveedores de nube (IBM Cloud, AWS, Microsoft Azure, Google Cloud Platform, etc.)
Amplio soporte de Kubernetes de un ecosistema de proveedores de herramientas en la nube, como Sysdig, LogDNA y Portworx (entre muchos otros)
Las funcionalidades clave incluyen descubrimiento de servicios, ingreso y equilibrio de carga, autorreparación, orquestación del almacenamiento, escalabilidad horizontal, implementaciones y reversiones automatizadas y ejecución por lotes.
Conjunto unificado de API y sólidas garantías sobre el estado del clúster
Contras de Kubernetes
La gestión del máster de Kubernetes requiere conocimientos especializados
Las actualizaciones de la comunidad de código abierto son frecuentes y requieren parches cuidadosos para evitar interrumpir las cargas de trabajo.
Demasiado pesado para que los desarrolladores individuales lo configuren para aplicaciones simplistas e implementaciones poco frecuentes
A menudo se necesitan herramientas adicionales (por ejemplo, kubectl CLI), servicios, flujos de trabajo de integración continua / implementación continua (CI / CD) y otras prácticas de DevOps para administrar completamente el acceso, la identidad, la gobernanza y la seguridad.
Este articulo puede interesarleConceptos erróneos sobre el almacenamiento de datos basado en la nube Conceptos erróneos sobre el almacenamiento de datos basado en la nube.