tag hub example docker kubernetes

hub - docker login



¿Qué hace realmente Kubernetes? (3)

Kubernetes se factura como un "planificador / orquestador" de clúster de contenedores, pero no tengo idea de lo que esto significa. Después de leer el sitio de Kubernetes y el wiki (vago) de GitHub, lo mejor que puedo decir es que de alguna manera descubre qué máquinas virtuales están disponibles / son capaces de ejecutar su contenedor Docker, y luego las implementa allí. Pero eso es solo mi suposición, y no he visto ninguna palabrería concreta en su documentación para respaldar eso.

Entonces, ¿qué es Kubernetes exactamente y cuáles son algunos problemas específicos que resuelve?


Como lees de su Kubernetes :

Kubernetes es un sistema de código abierto para administrar aplicaciones en contenedores en varios hosts, que proporciona mecanismos básicos para la implementación, mantenimiento y escalado de aplicaciones.

Kubernetes es:

lean: lightweight, simple, accessible portable: public, private, hybrid, multi cloud extensible: modular, pluggable, hookable, composable self-healing: auto-placement, auto-restart, auto-replication

Kubernetes se basa en una década y media de experiencia en Google ejecutando cargas de trabajo de producción a escala, combinado con las mejores ideas y prácticas de la comunidad.

Para mí, Kubernetes es una herramienta de orquestación de contenedores de Google. Debido a su diseño, puede implementar la compatibilidad con cualquier motor de contenedor, pero creo que ahora está limitado a Docker. Hay algunos conceptos importantes en su arquitectura:

Kubernetes trabaja con los siguientes conceptos:

Los clústeres son los recursos informáticos sobre los cuales se construyen sus contenedores. ¡Kubernetes puede correr en cualquier lugar! Consulte las Guías de inicio para obtener instrucciones sobre una variedad de servicios.

Las vainas son un grupo colocado de contenedores Docker con volúmenes compartidos. Son las unidades desplegables más pequeñas que se pueden crear, programar y administrar con Kubernetes. Los pods se pueden crear individualmente, pero se recomienda que use un controlador de replicación incluso si crea un solo pod. Más sobre las vainas.

Los controladores de replicación administran el ciclo de vida de los pods. Se aseguran de que se ejecute un número específico de pods en un momento dado, creando o eliminando los pods según sea necesario. Más información sobre los controladores de replicación.

Los servicios proporcionan un nombre y una dirección únicos y estables para un conjunto de pods. Actúan como equilibradores de carga básicos. Más sobre servicios.

Las etiquetas se utilizan para organizar y seleccionar grupos de objetos basados ​​en pares clave: valor. Más sobre etiquetas.

Entonces, tiene un grupo de máquinas que forman un clúster donde se ejecutan sus contenedores. También puede definir un grupo de contenedores que brinden un servicio, de manera similar a como lo hace con otras herramientas como la fig (es decir: el pod webapp puede ser un servidor de rieles y una base de datos postgres). También tiene otras herramientas para garantizar una serie de contenedores / pods de un servicio que se ejecuta al mismo tiempo, un almacén de valores clave, una especie de equilibrador de carga incorporado ...

Si sabes algo sobre coreos, es una solución muy similar pero de Google. Algo Kubernetes tiene una buena integración con Google Cloud Engine.


El propósito de Kubernetes es facilitar la organización y programación de su aplicación en una flota de máquinas. En un nivel alto, es un sistema operativo para su clúster.

Básicamente, le permite no preocuparse por qué máquina específica en su centro de datos se ejecuta cada aplicación. Además, proporciona primitivas genéricas para verificar el estado y replicar su aplicación en estas máquinas, así como servicios para conectar su aplicación a microservicios para que cada capa de su aplicación se desacople de otras capas para que pueda escalarlas / actualizarlas / mantenerlas independientemente.

Si bien es posible hacer muchas de estas cosas en la capa de aplicación, tales soluciones tienden a ser únicas y frágiles, es mucho mejor tener una separación de preocupaciones, donde un sistema de orquestación se preocupa por cómo ejecutar su aplicación y le preocupa El código que conforma su aplicación.


Kubernetes proporciona la misma funcionalidad que las API de infraestructura como servicio, pero está dirigido a contenedores programados dinámicamente en lugar de máquinas virtuales, y como sistemas de plataforma como servicio, pero con una mayor flexibilidad, que incluye:

  • montaje de sistemas de almacenamiento,
  • distribuyendo secretos,
  • comprobación del estado de la aplicación,
  • replicar instancias de aplicación,
  • escala automática horizontal,
  • nomenclatura y descubrimiento,
  • balanceo de carga,
  • actualizaciones continuas,
  • monitoreo de recursos,
  • acceso al registro e ingestión,
  • soporte para introspección y depuración, y
  • identidad y autorización

Si ya usa otros mecanismos para el descubrimiento de servicios, distribución secreta, equilibrio de carga, monitoreo, etc., por supuesto, puede continuar usándolos, pero nuestro objetivo es facilitar la transición a Kubernetes de los sistemas IaaS y PaaS existentes al proporcionar esto funcionalidad

https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-can-it-do