Kubernetes: Superando la Complejidad – Gigaom

Kubernetes se creó en 2014 para permitir a los administradores ejecutar sistemas distribuidos fácilmente. Gracias a su naturaleza de código abierto al 100%, puede ejecutarse tanto en las instalaciones como en la nube, incluidos los entornos públicos, híbridos y de varias nubes.

Kubernetes ha visto una rápida adopción desde su introducción. Como está construido especialmente para manejar contenedores a escala, es rápido y liviano, se puede usar encima de cualquier VM o servidor de metal desnudo, y proporciona características robustas centradas en contenedores. Kubernetes puede funcionar igualmente bien en cualquier infraestructura de VM, lo cual es enorme desde la perspectiva de DevOps, ya que la portabilidad de los contenedores debe ser igual a la portabilidad del administrador de contenedores.

Por todas sus ventajas, Kubernetes presenta desafíos únicos. La ejecución de servicios con estado, como bases de datos en Kubernetes, requiere sistemas específicos de almacenamiento nativo del contenedor. Sin esta tecnología, ciertos problemas se volverán comunes: volúmenes atascados, tiempo de inactividad, exceso de aprovisionamiento, pérdida de datos y copias de seguridad manuales y migraciones.

A continuación, describimos los desafíos de hardware que hacen que Kubernetes sea tan difícil, veamos qué necesitan hacer las organizaciones para crear una implementación exitosa.

¿Qué necesita hacer Kubernetes Storage?

Para tener éxito, el almacenamiento de Kubernetes requiere seis funciones principales (ver Figura 1):

Kubernetes: Superando la Complejidad - Gigaom

Autoservicio: La capacidad de aprovisionar y administrar el almacenamiento granular de contenedores según sea necesario, bajo demanda.

Aplicación consciente: Las aplicaciones basadas en Kubernetes están compuestas por múltiples contenedores que se ejecutan en una flota de hosts. Esto significa que las operaciones de almacenamiento como copia de seguridad, recuperación, DR y cifrado deben aplicarse a nivel granular de la aplicación, no a nivel de la máquina, como es el caso del almacenamiento tradicional.

Automatización: Una capa que puede llevar a cabo los detalles en torno a la implementación del almacenamiento, así como otras operaciones que deben ocurrir, como BC / DR. La automatización elimina la mayoría del procesamiento manual y proporciona ventajas clave.

SLA independientes de infraestructura: Un nivel constante de servicio, sin importar qué infraestructura se esté aprovechando, o que no vincule los SLA directamente a ninguna parte de la infraestructura, como los servicios de plataforma.

Optimización de costos: Pone en marcha procesos que pueden mejorar la rentabilidad. Esto incluye la automatización de los sistemas de aprovisionamiento para garantizar que no se asigne más almacenamiento del necesario.

Cómo cumplir los requisitos

A continuación se presentan los atributos clave de los mejores sistemas de almacenamiento nativos de Kubernetes y su aplicación adecuada en la producción.

Kubernetes-native: Un subsistema, que incluye sistemas de almacenamiento y bases de datos, diseñado específicamente para la plataforma Kubernetes. Por ejemplo, las operaciones de almacenamiento deben ser granulares de contenedores con operaciones adicionales a nivel de espacio de nombres.

Rendimiento a escala de Kubernetes: El almacenamiento generalmente debe ser escalable a más de 1,000 volúmenes por nodo y miles de operaciones concurrentes por minuto. Los sistemas de almacenamiento que no son de Kubernetes a menudo están diseñados para manejar una cantidad relativamente pequeña de grandes volúmenes administrados por un administrador, a diferencia de una gran cantidad de volúmenes pequeños a medianos administrados automáticamente a través de Kubernetes.

Centrado en la aplicación: El almacenamiento debe tener un enfoque de aplicación o solución, en lugar de un enfoque de infraestructura. El almacenamiento granular de contenedor debe poder aprovisionarse a pedido cuando se implementa la aplicación.

Pila completa de almacenamiento nativo de Kubernetes: La capacidad de admitir sistemas de almacenamiento orientados a transacciones y análisis, incluido el enfoque en el rendimiento, BC / DR, seguridad de datos y cumplimiento de datos, así como la capacidad de admitir copias de seguridad en tiempo real como se presenta en Figura 2.

Kubernetes: Superando la Complejidad - Gigaom

Entendiéndolo

Hay muchas formas de resolver el almacenamiento de Kubernetes, y la mayoría funcionará en entornos de prueba de concepto. Sin embargo, la mayoría no será óptima para el conjunto de soluciones que busca. Elegir el camino correcto es imprescindible para el éxito total de sus aplicaciones basadas en Kubernetes donde el almacenamiento está en el camino crítico. Los caminos disponibles para usted se pueden ver en figura 3.

Kubernetes: Superando la Complejidad - Gigaom

Enfoques tradicionales de almacenamiento: Estos sistemas no son compatibles con Kubernetes, pero las aplicaciones basadas en Kubernetes pueden aprovecharlos. Por lo general, vienen en dos formas: sistemas de almacenamiento nativo para sistemas locales, o un sistema de almacenamiento entregado en la nube, como el almacenamiento en bloque en la nube, un sistema de almacenamiento basado en objetos o una base de datos nativa en la nube.

Orquestación de contenedores nativa: Más a menudo llamados nativos de Kubernetes, estos sistemas de almacenamiento están diseñados específicamente para un motor de orquestación de contenedores específico.

Este enfoque nativo de Kubernetes no requiere una capa de traducción entre el almacenamiento de VM y el almacenamiento de contenedores, como lo hace el enfoque tradicional. Por lo tanto, muchos de los requisitos y características resaltados anteriormente son compatibles con este enfoque nativo de orquestación de contenedores y la tecnología de almacenamiento nativa de Kubernetes.

Soluciones de almacenamiento híbrido: Estos proporcionan soporte para el almacenamiento de Kubernetes nativo y no nativo. Por lo general, no son la solución elegida, dado que está tratando de ser todo en dos o más plataformas diferentes.

Conclusión

Kubernetes está cambiando la forma en que se ejecutan los sistemas distribuidos y está abriendo nuevas posibilidades para las bases de datos basadas en la nube, pero para aprovechar al máximo esta tecnología, el sistema debe satisfacer sus necesidades principales.

Los sistemas de almacenamiento no son sistemas centrales complejos, pero requieren una consideración especial dado su impacto en las aplicaciones y los sistemas comerciales que los aprovechan. El movimiento hacia la orquestación de múltiples nubes y contenedores crea un incentivo para pasar al almacenamiento nativo de Kubernetes.

Recent Articles

Si alguna vez configuró una cuenta de Google+, es posible que deba dinero

Es posible que Google+ haya desaparecido, pero no se olvida. Al menos no por los tribunales. El 10 de junio, Google acordó resolver una...

Nuevos iMacs, Apple Fellow Phil Schiller: Macworld Podcast episodio 708

Apple anunció actualizaciones de iMac a principios de esta semana. ¿Deberías comprar un iMac cuando el silicio de Apple está en el horizonte? También...

Debe probar Shopify en estos tiempos difíciles: las palabras de un propietario de una pequeña empresa canadiense para todos los propietarios de empresas físicas

El impacto de COVID-19 ha sido especialmente duro para las empresas que dependen del tráfico peatonal para su supervivencia. Nia Bangala, dueña de una...

Bugsnax revela más rarezas con el nuevo avance del juego

Como el tiempo fue expuesto como una estafa capitalista, tengo menos problemas para aceptar que Bugsnax se reveló por primera vez hace dos meses....

La Academia Umbrella trajo $ 20 millones a Hamilton, y muchas imágenes

COVID-19 forzó un alto de tres meses a las producciones de TV y cine en Hamilton este año, pero una nueva producción de alto...

Related Stories

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí