¿Qué es kubernetes y cómo funciona?, este si va a ser algo mas complicado de explicar sin previos conocimientos pero vamos a intentarlo, vamos a ponernos en situación, seguro que cuando ibas al colegio has tenido que hacer algún trabajo en conjunto, como sabemos en todo grupo hay un líder que indica como hacer el proyecto y como gestionarlo, además con internet seguro que podías hacer tu parte del proyecto y enviárselo para que el uniera los trabajos de cada uno en uno solo y os lo enviase, así no haría falta que el trabajo estuviera solo en un ordenador, bien ya estamos en situación empecemos con que es y como funciona Kubernetes.
¿Qué es kubernetes?
Kubernetes (comúnmente estilizado como K8s) es una plataforma o sistema de coordinación de contenedores de código abierto, para automatizar el despliegue, el escalado y la gestión de aplicaciones en contenedores. Su diseño original fue creado por Google y ahora es mantenido por la Cloud Native Computing Foundation.
Funciona con una serie de herramientas de contenedores, como Docker, este es la virtualización de los contendores. Muchos servicios en la nube ofrecen una plataforma basada en Kubernetes o una infraestructura como servicio.
Kubernetes se basa en una década y media de experiencia de Google en la ejecución de cargas de trabajo de producción a escala mediante un sistema llamado Borg, combinado con las mejores ideas y prácticas de la comunidad.
Kubernetes es un nuevo y revolucionario sistema para gestionar aplicaciones en contenedores a través de múltiples hosts en un clúster. Kubernetes proporciona la plataforma, la infraestructura y la base para poder ejecutar contenedores en producción.
Ahora te estarás preguntando y que tiene que ver la primera parte que me enteré de todo con la segunda que me he quedado igual, yo te lo explico en el siguiente punto.
¿Cómo funciona kubernetes?
Vamos a ir punto por punto para poder asociar la primera parte del artículo con la segunda:
Kubernets tiene como función principal orquestar contenedores (básicamente coordinarlos), además este tiene movilidad, se puede llevar de una nube a otra, entre sistemas operativos, etc., como tiene un código abierto, tiene una comunidad que siempre está en constante evolución.
Otra característica primordial del kubernetes es que ayuda en gran medida a la disponibilidad de las aplicaciones y por supuesto a su automatización. Gracias en parte a esta automatización kubernetes ayuda a distribuir el trabajo según la carga de este en las aplicaciones, con esto nos referimos a el balanceo de:
- Procesadores.
- Memoria.
- Servidores, etc.
Beneficios del kubernetes
Hemos visto varias ventajas al trabajar con kubernetes, como la distribución del trabajo, la disponibilidad, etc. pero vamos a esquematizar los mas importantes que podrían ser:
- La gran reducción de costes a la hora de implementar menos servidores.
- Su entorno proporciona una gran eficiencia para el desarrollo de software.
- Reducción de la caída de sistemas.
- La distribución de recursos es mas eficaz.
- Automatizar los servidores en caso de mayor o menor demanda.
- Por supuesto la orquestación de los contenedores.
- Los contenedores pueden relacionarse entre si.
- Puede monitorizar el estado de las aplicaciones en el clúster.
Además realiza copias y las deja en varios nodos (lo que habíamos comentado de que cada compañero tenía su propio archivo después de haber pasado por el líder).
Kubernetes se ha construido pensando en la seguridad y viene con muchas características de seguridad activadas por defecto. Por ejemplo, los clústeres de Kubernetes cuentan con RBAC (Role Based Access Control), que permite a los administradores definir los roles de los usuarios y limitar las acciones que estos pueden realizar en los recursos del clúster. Al mismo tiempo, los controles de acceso también se aplican a nivel de red con objetos de política de red que permiten un control de grano fino sobre los pods que pueden comunicarse entre sí.
Conclusión
Creo firmemente que Kubernetes es una de las tecnologías más importantes actualmente. No solo permite desplegar una infraestructura basada en contenedores en entornos de producción, sino que también depende completamente de ella. Esto nos permite comprender plenamente las implicaciones de seguridad que conlleva el uso de contenedores a escala, y la mejor manera de abordarlas.
Espero que haya quedado claro que es y como funciona kubernetes, en caso de tener alguna duda ya sabes mándame un correo o deja tu comentario.