Los 10 principales proveedores de servicios de Kubernetes
Kubernetes se ha convertido en el proyecto al que acudir si necesita una orquestación de contenedores a gran escala. El orquestador de contenedores de código abierto ha pasado rápidamente de una tecnología de vanguardia desarrollada en Google a algo parecido a una infraestructura estandarizada para entornos nativos de la nube.
A medida que los proveedores de servicios en la nube y las empresas adoptan Kubernetes rápidamente para respaldar las aplicaciones más actualizadas, una nueva generación de empresas emergentes está apareciendo para aumentar la tecnología central con una entrega de código más profunda, observabilidad, administración, integración y características de seguridad.
Contents
- 1 ¿Qué son los Kubernetes?
- 2 Ventajas de la implementación de Kubernetes
- 3 Los 10 principales proveedores de servicios de Kubernetes
- 4 Rancher
- 5 Amazon Kubernetes
- 6 Azure Kubernetes
- 7 Google Kubernetes
- 8 Docker Enterprise
- 9 Kubernetes de DigitalOcean
- 10 Linode Kubernetes
- 11 IBM Kubernetes
- 12 Alibaba Kubernetes
- 13 Oracle Container Engine para Kubernetes
- 14 Conclusión
- 15 Preguntas frecuentes
¿Qué son los Kubernetes?
Kubernetes, también conocido como “Kube” o K8s, es una plataforma de orquestación de contenedores de código abierto. La plataforma automatiza muchos de los procesos manuales involucrados en la administración, implementación y escalado de aplicaciones en contenedores.
En pocas palabras, los grupos de hosts que ejecutan contenedores de Linux se pueden agrupar y Kubernetes lo ayudará fácilmente a administrar esos clústeres de manera efectiva.
Kubernetes se considera la plataforma perfecta para alojar aplicaciones nativas de la nube que requieren un escalado rápido porque los clústeres de Kubernetes pueden abarcar hosts en nubes públicas, locales, híbridas o privadas.
Originalmente, Kubernetes fue diseñado y desarrollado por ingenieros de Google, quien fue uno de los primeros contribuyentes a la tecnología de contenedores de Linux.
En una semana, Google genera más de 2 mil millones de implementaciones de contenedores impulsadas por Borg, su plataforma interna. Borg fue el predecesor de Kubernetes y la principal influencia detrás de gran parte de la tecnología de Kubernetes son las lecciones aprendidas del desarrollo de Borg.
Ventajas de la implementación de Kubernetes
Estos son los principales beneficios de Kubernetes.
- De naturaleza declarativa
Kubernetes es de naturaleza declarativa. Si le describe a Kubernetes el estado deseado del clúster, Kubernetes se asegurará de que el estado siempre se cumpla. En caso de que necesite ejecutar 5 contenedores a la vez, simplemente debe crear una implementación y establecer el número de réplicas en 5.
- Arquitectura de microservicio
En comparación con las aplicaciones monolíticas cuyas partes constituyentes no son modulares ni reutilizables, Kubernetes permite a los desarrolladores de aplicaciones escribir código como microservicios, que son una arquitectura de aplicación que prescribe la división del código en partes reutilizables, independientes y débilmente acopladas llamadas servicios.
Según las necesidades de las aplicaciones, estos servicios se pueden escalar. Su acoplamiento débil y su pequeño tamaño los hacen fáciles de probar y de implementar rápidamente.
- Base de código portátil, independiente de la nube
Kubernetes puede ejecutarse virtualmente en cualquier hardware local, nube pública o incluso bare metal. El código se puede volver a implementar varias veces al desarrollar aplicaciones para Kubernetes, lo que le permite elegir su infraestructura preferida.
- Uso optimizado de recursos
Según los recursos disponibles, Kubernetes determina qué nodo de trabajo debe ejecutar un contenedor. Con Kubernetes, puede estar seguro de que los recursos de su computadora se utilizarán de manera eficiente en todo el clúster. Esto le ayudará a reducir los servidores o las instancias en la nube que opera, lo que se traduce en ahorros de costes.
- Autorreparación
Los contenedores pueden fallar por varias razones. Kubernetes mantiene las implementaciones en buen estado al reiniciar aquellos contenedores que han fallado, reemplazando y eliminando los contenedores que no responden según las verificaciones de estado definidas por el usuario, y también volviendo a crear contenedores que estaban en un nodo de backend fallido.
- Cero tiempos de inactividad con implementaciones continuas
En Kubernetes, los pods son la unidad informática más pequeña y son responsables de ejecutar los contenedores de su aplicación. Los pods tienen la capacidad adicional de mejorar el tiempo de actividad de su aplicación en comparación con otras soluciones.
Kubernetes proporciona una solución con implementaciones que crea pods adicionales y garantiza que se estén ejecutando y estén en buen estado antes de que se destruyan los pods antiguos. Kubernetes también revierte los cambios si fallan los nuevos contenedores. Esto asegura un tiempo de inactividad limitado y una sólida experiencia de usuario.
- Pods de varios contenedores
Normalmente, los pods de Kubernetes ejecutan un solo contenedor. Sin embargo, también pueden ejecutar varios contenedores. Esto hace que sea fácil agregar un contenedor ‘sidecar’ reutilizable, acoplado libremente a un contenedor pago. Estos contenedores sirven para aumentar el contenedor principal que se ejecuta en un pod y compartir una dirección IP con el contenedor principal.
- Descubrimiento del servicio
Todos los servicios deben tener una forma anticipada de comunicarse entre sí. Sin embargo, dentro de Kubernetes, los contenedores se destruyen y se crean muchas veces. Por lo tanto, es posible que un servicio no exista permanentemente en una ubicación específica. Tradicionalmente, esto significaba que algún tipo de registro de servicios tendría que adaptarse o crearse a la lógica de la aplicación para rastrear la ubicación de cada contenedor.
Los pods de grupos de conceptos de servicios nativos de Kubernetes y el descubrimiento de servicios están simplificados. La plataforma de código abierto proporciona una dirección IP para cada pod e incluso asigna un nombre DNS para cada conjunto de pods. Esto ayuda a crear un entorno en el que el descubrimiento de servicios se abstrae del nivel del contenedor.
Los 10 principales proveedores de servicios de Kubernetes
Aquí están los diez mejores proveedores de Kubernetes
Rancher
Rancher es una plataforma de administración de Kubernetes estable, fácil de usar y de nivel empresarial con más de 37,000 usuarios activos. Incluso viene con su distribución de Kubernetes, Rancher Kubernetes, que se ejecuta completamente dentro de los contenedores de Docker.
La arquitectura independiente de la infraestructura de Rancher admite toda la distribución de Kubernetes certificada por la CNCF. Rancher es una empresa de código abierto y se dedica a proporcionar software 100% de código abierto sin dependencia de proveedores. Rancher fue adquirida por SUSE, un proveedor de código abierto en julio de 2020. SUSE es la empresa que está detrás de una de las distribuciones de Linux más antiguas.
Rancher presta especial atención a las implementaciones de Kubernetes en varios clústeres y se cree que esto es útil para las empresas que desean implementar Kubernetes en varias nubes. Al igual que OpenShift, Rancher integra Kubernetes con diferentes herramientas. Sin embargo, Rancher es mucho más flexible ya que ofrece algunas opciones para los componentes que se pueden utilizar.
Amazon Kubernetes
Amazon Elastic Kubernetes Service (EKS) es un servicio relativamente más nuevo, pero ha experimentado un fuerte repunte en su adopción en los últimos años. Con EKS, puede ejecutar, iniciar y escalar aplicaciones de Kubernetes en la nube de AWS, así como en las instalaciones. Poco a poco, Amazon EKS está reemplazando a ECS, que es el orquestador propietario de AWS.
EKS automatiza importantes tareas de administración de Kubernetes como aprovisionamiento de nodos, parches y actualizaciones. También incluye cifrado y seguridad incorporada, integración con CloudWatch para registro, actualización automática, IAM para permisos de acceso y CloudTrail para auditoría. AWS contribuyó a la base de código K8s de código abierto para maximizar la funcionalidad para sus usuarios.
En re:Invent 2020, AWS incluso introdujo una nueva distribución K8s de código abierto, conocida como EKS Distro, y una nueva opción de implementación para Amazon EKS, conocida como Amazon EKS Anywhere. Esto le permite crear y también operar clústeres de Kubernetes en su infraestructura, incluidas máquinas virtuales y bare metal.
Azure Kubernetes
Para los usuarios de Kubernetes en Azure, AKS de Microsoft se está convirtiendo en la norma y dos tercios ya lo han adoptado. Al igual que con EKS y GKE, AKS proporciona un entorno K8 ascendente administrado, junto con la supervisión del clúster y las actualizaciones automáticas para simplificar la administración, la implementación y las operaciones de Kubernetes. Para aprovisionar un clúster, AKS ofrece varias formas, incluida la línea de comandos, la consola web, Terraform y el administrador de recursos de Azure.
Azure Kubernetes Service comenzó como una plataforma independiente del orquestador compatible con Mesosphere DC/OS, Kubernetes y Docker Swarm. Microsoft comenzó a ofrecer el servicio de administración de Kubernetes a fines de 2017 y esto resultó en las críticas de ACS y la continuación de AKS.
Google Kubernetes
Google Kubernetes Engine es el primer servicio de Kubernetes administrado basado en la nube disponible en el mercado. GKE es un entorno administrado para escalar, implementar y administrar aplicaciones en contenedores en una infraestructura segura de Google.
Como K8s fue creado por los propios ingenieros de Google para su organización de contenedores interna, se cree que GKE es una de las plataformas de Kubernetes más avanzadas disponibles en la actualidad. La plataforma está diseñada para su uso en Google Cloud e incluso se puede implementar en entornos híbridos, así como en las instalaciones.
Además de facilitarle la creación de clústeres, GKE también proporciona funciones avanzadas de administración de clústeres, como escalado automático, balanceo de carga, reparación automática, actualizaciones automáticas, registro y supervisión, etc.
Docker Enterprise
Docker se separó a fines de 2019 y Docker Enterprise fue adquirida por Mirantis, que es una empresa de servicios K8s y OpenStack. Sin embargo, el producto de código abierto se mantuvo en Docker Inc. Recientemente, Mirantis implementó actualizaciones importantes del producto manteniendo el nombre de Docker Enterprise. Estas actualizaciones están destinadas a ayudar al producto a competir mejor con los principales actores de la nube híbrida como Red Hat.
Docker Enterprise es una plataforma que le permite ejecutar los orquestadores Swarm y Kubernetes en el mismo clúster. Además, se integra con varias herramientas de Docker de código abierto y con Lens, que es el IDE de Kubernetes más popular del mundo que le permite analizar, visualizar e iterar código rápidamente en uno o incluso en varios clústeres.
Kubernetes de DigitalOcean
DOKS (DigitalOcean Kubernetes) es un servicio administrado de Kubernetes y se implementa en DigitalOcean Cloud. Permite la creación de clústeres de Kubernetes escalables y ofrece acceso completo a las API de Kubernetes mientras las actividades relacionadas con el plano de control se gestionan en segundo plano. También proporciona operaciones optimizadas con programación de clústeres, monitoreo y también implementación automatizada de aplicaciones.
Los usuarios de DOKS pueden acceder e incluso interactuar con el clúster a través de las utilidades de comando kubectl y doctl utilizando las API de Kubernetes. Los clústeres basados en DOKS pueden afectar negativamente los balanceadores de carga de DigitalOcean y también se bloquean los volúmenes de almacenamiento, lo que permite el desarrollo de aplicaciones estables y de alto rendimiento.
Los usuarios pueden utilizar el complemento CSI de DigitalOcean para bloquear los volúmenes de almacenamiento. Para configuraciones de redes superpuestas y clústeres, ofrece soporte para Cilium. También proporciona soporte para herramientas como Istio, metrics-server y Helm.
Linode Kubernetes
LKE o Linode Kubernetes Engine es un motor de orquestación de contenedores completamente administrado que ayuda con la implementación y administración de cargas de trabajo y aplicaciones en contenedores.
LKE combina los precios simples y la facilidad de uso de Linode con la eficiencia de la infraestructura de Kubernetes. Los usuarios ahora pueden poner en marcha sus cargas de trabajo y su infraestructura en cuestión de minutos en lugar de días.
LKE incluso viene con un Kubernetes Master complementario por clúster sin ningún cargo adicional y esto incluye un panel de control complementario que incluye planificador, API, controladores de recursos, etc. LKE realiza continuamente una copia de seguridad de una instantánea de los metadatos de su clúster para que su clúster se restaure automáticamente en el futuro.
Además, puede aprovechar el sólido ecosistema de código abierto de Kubernetes, ya que LKE admite la integración con herramientas relacionadas con K8 como Operadores, Helm, Rancher y más.
IBM Kubernetes
IBM Cloud Container Service ha estado disponible desde mayo de 2017 como una de las primeras ofertas de Kubernetes maduras y completamente administradas en la nube. En 2018, se renombró y pasó a ser conocido como IBM Cloud Kubernetes Service, y el nuevo objetivo es sacar a la luz la inversión estratégica de IBM en Kubernetes y al mismo tiempo reflejar que IBM es uno de los fundadores de CNCF K8s Conformance Testing.
Con IBM Cloud Kubernetes Service, los usuarios pueden crear sus clústeres de Kubernetes para gestionar y desplegar aplicaciones en contenedores en IBM Cloud. El servicio ofrece capacidades nativas de Kubernetes como autorreparación, programación inteligente, descubrimiento de servicios, escalado horizontal, implementaciones y reversiones automatizadas, balanceo de carga y administración de configuraciones y secretos.
Alibaba Kubernetes
El servicio de contenedores en la nube de Alibaba para Kubernetes (ACK) integra capacidades de almacenamiento, virtualización, seguridad y redes. ACK le permite implementar aplicaciones en contenedores altamente escalables y de alto rendimiento y ofrece una gestión del ciclo de vida completo de las aplicaciones en contenedores de nivel empresarial.
Alibaba Cloud fue uno de los primeros proveedores que pasó las pruebas de certificación de conformidad global de Kubernetes. Alibaba Cloud ofrece soporte y servicios profesionales.
Oracle Container Engine para Kubernetes
Oracle ha trabajado arduamente para reinventarse y prepararse para un mundo centrado en Kubernetes. Encontraron su respuesta en Oracle Container Engine para Kubernetes u OKE.
Para las aplicaciones en contenedores, OKE es un servicio totalmente administrado y se puede utilizar para crear clústeres de Kubernetes haciendo uso de la consola basada en navegador y también de las API REST.
Los usuarios pueden interactuar con estos clústeres mediante el panel de control de Kubernetes, la API de Kubernetes y la utilidad de línea de comandos de Kubernetes (kubectl). Se puede utilizar para implementar, crear y también administrar aplicaciones que se ejecutan en Oracle Cloud.
OKE hace uso de los contenedores de Kubernetes para la administración e implementación automatizadas de estas aplicaciones en contenedores. Los usuarios solo necesitan especificar los recursos que necesitan para su aplicación y OKE los aprovisiona en OCI (Oracle Cloud Infrastructure).
En OKE, todos los servicios se pueden integrar con IAM (Identity and Access Management) para autorización y autenticación. Además, el clúster OKE se puede integrar con Wercker, que es una plataforma de entrega continua basada en Docker.
Conclusión
La adopción de Kubernetes continúa creciendo y esto está impulsando la evolución de las herramientas de la plataforma de código abierto. Las empresas con entornos de contenedores grandes pueden hacer uso de estos proveedores de servicios de Kubernetes para superar los desafíos de implementar, administrar y configurar un clúster por sí mismas.
Preguntas frecuentes
¿Qué son los Kubernetes?
Plataforma de orquestación de contenedores de código abierto.
¿Cuáles son los beneficios de Kubernetes?
–
Arquitectura
de microservicios
–
Portátil
–
Declarativo
¿Cuáles son los mejores servicios de Kubernetes?
–
Rancher
–
AWS
– Google Cloud
– Azure
– Alibaba Cloud
–
Digital Ocean
– Linode
– IBM Cloud
– Docker
–
Oracle Cloud