Kubernetes es una herramienta que automatiza el proceso de ejecución de aplicaciones en contenedores, como Docker. Esto simplifica la escala de su solicitud, ya que la infraestructura del servidor está aislada del código que se ejecuta. Mientras que los kubernetes se mencionan con frecuencia junto con Docker, las dos tecnologías realizan tareas distintas.
Docker comprime aplicaciones y sus dependencias en un solo archivo llamado imagen de contenedor, que se puede ejecutar en un servidor sin necesidad de configuración manual. El motor DOCER es similar a una máquina virtual, pero es significativamente más pequeña y más rápida, y está optimizada para ejecutar una sola aplicación en un entorno aislado. Kubernetes es un motor de orquestación que permite la ejecución de las imágenes de Docker.
Admite las imágenes de Docker, que son el formato de contenedor más popular con mucho. Los contenedores lo hacen extremadamente fácil de distribuir su código sin preocuparse por si el servidor está configurado correctamente para ejecutarlo.
Un grupo de nodos de trabajadores será administrado por un servidor maestro de Kubernetes. Estos nodos de trabajadores son capaces de ejecutar un número ilimitado de contenedores envasados \u200b\u200ben las vainas de Kubernetes.
¿Cuál es el propósito de Kubernetes?
El servidor maestro es responsable de implementar cápsulas a los nodos de los trabajadores e intentar mantener una configuración consistente. Si su aplicación experimenta un aumento en el tráfico, los kubernetes pueden provisiones de recursos adicionales, y si uno de sus servidores encuentra un problema, Kubernetes puede mover las vainas en ese servidor al resto de la red hasta que se resuelva el problema.
Sin embargo, mientras que Kubernetes incorpora muchas de las características de una plataforma como un sistema de servicio (PAA), no proporciona aprovisionamiento de hardware. Kubernetes es un proyecto de código abierto que está totalmente compuesto por software.
Paas Systems, como AWS EKs, se basa en la parte superior de Kubernetes y, con frecuencia, le permite aprovechar recursos adicionales para sí misma (Auto-escalamiento). Las Kubernetes heredan a todos los beneficios de Docker y de contenedorización. Contenedores Ayuda en la organización y gestión de su código al centralizar todas sus dependencias.
¿Por qué deberías usar Kubernetes?
Su código se comportará exactamente de la misma manera en el desarrollo y las pruebas, ya que lo hace en la producción, sin sorpresas. Las imágenes de Docker que se ejecutan en la plataforma Kubernetes son completamente independientes de la plataforma y desconocen que se están ejecutando en las vainas de Kubernetes. Debido al desacoplamiento de aplicaciones e infraestructura, las Kubernetes son un reemplazo extremadamente poderoso para su ciclo de implementación actual.
No tendrá que preocuparse por su código ejecutándose correctamente en sus servidores. Un ciclo de desarrollo rápido aumenta la presión sobre su equipo de operaciones para centrarse en ejecutar su código. Si tiene dificultades para administrar la instalación y configuración de su aplicación en varios servidores siempre que su código requiere una actualización, los kubernetes pueden ayudar.
Y si realmente desprecia la configuración y la gestión de servidores, un servicio administrado de Kubernetes, como AWS EK, puede aliviar este problema, lo que hace que su solicitud sea «sin sentido». Debido a que Kubernetes es el servicio Agnóstico, puede instalarlo en sus propios servidores si lo desea. Debido a la complejidad de los Kubernetes, hay numerosas soluciones llave en mano disponibles de los principales proveedores de la nube que utilizan sus recursos para alimentar a sus nodos trabajadores.
¿Cómo empiezo?
Todos serán compatibles con Kubernetes, lo que significa que la conmutación entre ellos será perfecta. Si desea configurarlo manualmente, puede hacerlo usando la caja de herramientas KUBAADM. Para ejecutar KUBAADM, necesitará una máquina maestra, que controlará a una o más máquinas trabajadoras que ejecutan kubelet.
La máquina maestra administrará la implementación del contenedor a las máquinas trabajadoras. Para obtener más información, lea su guía de inicio en los documentos de Kubernetes, pero prepárese para pasar una noche completa. La solución de Amazon es AWS EKS, que permite la implementación de aplicaciones de Kubernetes en varias zonas de disponibilidad de AWS.
EKs requiere muy poca configuración; Todo lo que se requiere es el aprovisionamiento de nuevos nodos. Usted paga $ 0.
20 por hora ($ 150 por mes) para cada grupo que se está ejecutando, además de los recursos EC2 y EBS consumidos por los nodos de sus trabajadores. Si no necesita un clúster completo de Kubernetes, pero aún así desea ejecutar aplicaciones en contenedores, puede usar el Servicio de contenedores elástico (ECS) de Amazon Web Services.
ECS es un sistema basado en contenedores que utiliza recipientes de Docker y tiene su propio sistema de escala. El servicio Azure Kubernetes (AKS) de Microsoft es un servicio administrado de Kubernetes que se integra bien con un oleoducto Azure, lo que hace que sea simple de transición del control de origen a los contenedores implementados en su grupo Kubernetes.
Dado que Google inventó Kubernetes, es natural que ofrezcan un servicio de Kubernetes administrado a través de la plataforma de Google Cloud.