Cómo ejecutar datos en Kubernetes: 6 principios básicos

Cómo ejecutar datos en Kubernetes: 6 principios básicos

Sylvain Kalache Colaborador

Sylvain Kalache es cofundador de Holberton, una empresa edtech que forma talento digital en más de 10 países. Emprendedor e ingeniero de software, ha trabajado en la industria tecnológica durante más de una década. Como parte del equipo que llevó a SlideShare a ser adquirida por LinkedIn, ha escrito para CIO y VentureBeat.

Más publicaciones de este colaborador 6 estrategias para llevar a cabo reuniones de directorio de empresas emergentes más efectivas Para las empresas que usan ML, los datos etiquetados son el diferenciador clave

Kubernetes se está convirtiendo rápidamente en un estándar de la industria, con hasta 94% de organizaciones que implementan sus servicios y aplicaciones en la plataforma de orquestación de contenedores, según una encuesta. Una de las razones clave por las que las empresas implementan Kubernetes es la estandarización, que permite a los usuarios avanzados ver ganancias de productividad de hasta dos veces.

La estandarización en Kubernetes brinda a las organizaciones la capacidad de implementar cualquier carga de trabajo, en cualquier lugar. Pero faltaba una pieza: la tecnología asumía que las cargas de trabajo eran efímeras, lo que significa que solo las cargas de trabajo sin estado podían implementarse de manera segura en Kubernetes. Sin embargo, la comunidad cambió recientemente el paradigma y trajo características como StatefulSets y Storage Classes, que hacen posible el uso de datos en Kubernetes.

Si bien es posible ejecutar cargas de trabajo con estado en Kubernetes, sigue siendo un desafío. En este artículo, proporciono formas de hacerlo realidad y por qué vale la pena.

Hazlo progresivamente

Kubernetes está en camino de ser tan popular como Linux y la forma de facto de ejecutar cualquier aplicación, en cualquier lugar, de forma distribuida. Usar Kubernetes implica aprender muchos conceptos técnicos y vocabulario. Por ejemplo, los recién llegados pueden tener problemas con las muchas unidades lógicas de Kubernetes, como contenedores, pods, nodos y clústeres.

Si aún no está ejecutando Kubernetes en producción, no salte directamente a las cargas de trabajo de datos. En su lugar, comience moviendo aplicaciones sin estado para evitar la pérdida de datos cuando las cosas van mal.

Si no puede encontrar un operador que se ajuste a sus necesidades, no se preocupe, porque la mayoría de ellos son de código abierto.

Comprender las limitaciones y especificidades

Una vez que esté familiarizado con los conceptos generales de Kubernetes, profundice en los detalles de los conceptos con estado. Por ejemplo, debido a que las aplicaciones pueden tener diferentes necesidades de almacenamiento, como requisitos de rendimiento o capacidad, debe proporcionar el sistema de almacenamiento subyacente correcto.

Lo que la industria generalmente llama “perfiles” de almacenamiento se denomina clases de almacenamiento en Kubernetes. Proporcionan una forma de describir los diferentes tipos de clases a los que puede acceder un clúster de Kubernetes. Las clases de almacenamiento pueden tener diferentes niveles de calidad de servicio, como operaciones de E/S por segundo por GiB, políticas de copia de seguridad o políticas arbitrarias, como modos de enlace y topologías permitidas.

Otro componente crítico para entender es StatefulSet. Es el objeto de la API de Kubernetes que se utiliza para administrar aplicaciones con estado y ofrece características clave como:

Identificadores de red únicos y estables que le permiten realizar un seguimiento del volumen y desconectarlos y volver a conectarlos cuando lo desee; Almacenamiento estable y persistente para que sus datos estén seguros; Implementación y escalado ordenados y ordenados, que son necesarios para muchas operaciones del día 2.

Si bien StatefulSet ha sido un reemplazo exitoso del infame PetSet (ahora obsoleto), aún es imperfecto y tiene limitaciones. Por ejemplo, el controlador StatefulSet tiene sin soporte incorporado para el cambio de tamaño de volumen (PVC) — lo cual es un gran desafío si el tamaño del conjunto de datos de su aplicación está a punto de crecer por encima de la capacidad de almacenamiento asignada actual. Existen soluciones alternativaspero tales limitaciones deben comprenderse con mucha anticipación para que el equipo de ingeniería sepa cómo manejarlas.


Source link