miércoles , 18 septiembre 2024

¿Qué es y para qué sirve Kubernetes?

¿Qué es Kubernetes?

Kubernetes es una plataforma portable y extensible de código abierto para administrar cargas de trabajo y servicios. Kubernetes facilita la automatización y la configuración declarativa. Tiene un ecosistema grande y en rápido crecimiento. El soporte, las herramientas y los servicios para Kubernetes están ampliamente disponibles.

Google liberó el proyecto Kubernetes en el año 2014. Kubernetes se basa en la experiencia de Google corriendo aplicaciones en producción a gran escala por década y media, junto a las mejores ideas y prácticas de la comunidad.

Kubernetes coloca un conjunto de contenedores en un grupo que gestiona en la misma máquina para reducir la sobrecarga de red y aumentar la eficiencia del uso de recursos.

Kubernetes facilita el despliegue y la explotación de aplicaciones en una arquitectura de microservicios. Para hacer esto, se crea una capa de abstracción sobre un grupo de hosts, de modo que los equipos de desarrollo pueden desplegar sus aplicaciones y dejar que esta tecnología gestione actividades como:

  • Controlar el consumo de recursos por aplicación o equipo.
  • Repartir uniformemente la carga de las aplicaciones en una infraestructura de hosts.
  • Equilibrar automáticamente las solicitudes de carga entre las diferentes instancias de una aplicación.
  • Supervisar el consumo de recursos y los límites de recursos para impedir automáticamente que las aplicaciones consuman demasiados recursos.
  • Mover una instancia de aplicación de un host a otro si hay escasez de recursos en un host, o si el host muere.
  • Aprovechar automáticamente los recursos adicionales disponibles cuando se añade un nuevo host al clúster.

Ventajas de Kubernetes

Kubernetes, que suele describirse como «el Linux de la nube», tiene motivos para ser la plataforma de orquestación de contenedores más popular. Estos son algunos:

Operaciones automatizadas

Kubernetes incluye una potente herramienta de API y línea de comandos, denominada kubectl, que se encarga de una gran parte de las tareas de gestión de contenedores más pesadas a través de la automatización de las operaciones. El patrón controlador de Kubernetes permite que las aplicaciones y los contenedores se ejecuten exactamente según se ha especificado.

Abstracción de la infraestructura

Kubernetes gestiona los recursos que pones a su disposición. De esta forma, los desarrolladores pueden centrarse en escribir código de aplicaciones y olvidarse de la infraestructura de computación, redes o almacenamiento subyacente.

Supervisión del estado de los servicios

Kubernetes supervisa el entorno en ejecución y lo compara con el estado deseado. Lleva a cabo comprobaciones de estado automáticas en los servicios y reinicia los contenedores que han fallado o se han detenido. Kubernetes solo hace que los servicios estén disponibles cuando están en ejecución y listos.

¿Cuáles son los retos de usar Kubernetes?

Si bien Kubernetes dispone de una alta capacidad de composición y puede admitir cualquier tipo de aplicación, puede ser difícil de entender y utilizar. Como han comentado varios miembros de CNCF, Kubernetes no siempre es la solución correcta para una carga de trabajo determinada. Por eso, el ecosistema Kubernetes contiene una serie de herramientas nativas relacionadas en la nube que las organizaciones han creado para resolver problemas específicos de la carga de trabajo.

Kubernetes implementa contenedores, en lugar de código fuente, y no crea aplicaciones. Necesitará herramientas adicionales para registro, middleware, supervisión, configuración, CI/CD y muchas otras actividades de producción. Dicho esto, Kubernetes se puede ampliar y ha demostrado ser perfecto para una amplia variedad de casos de uso, desde aviones hasta aprendizaje automático. De hecho, los proveedores de la nube, incluidos Oracle, Google, Amazon Web Services, y otros, han utilizado la propia extensibilidad de Kubernetes para crear Kubernetes administrados, que son servicios que reducen la complejidad y aumentan la productividad de los desarrolladores.

Nos encontramos con un buen manual para iniciar con Kubernetes, Consulte AQUI
Si deseas aprender como instalar Dockers puedes consultar nuestro Curso Introducción a Dockers y Kubernetes

Fuente:

https://aprendelinux.com/docker-kubernetes/
https://www.oracle.com/mx/cloud/cloud-native/container-engine-kubernetes/what-is-kubernetes/
https://azure.microsoft.com/es-es/overview/kubernetes-getting-started/
https://www.redhat.com/es/topics/containers/what-is-kubernetes

Acerca de Isaac Lemus

15 años de experiencia como consultor en implementación de soluciones en open source (software libre). En la actualidad estoy a cargo de la gestión de proyectos para la capacitación y servicios de implementación open source de la empresa Conocimiento Libre.

Compruebe también

Warp, la terminal inteligente que te ayuda a trabajar mejor con Linux

Linux es un sistema operativo de código abierto que ofrece una gran flexibilidad, seguridad y …