Arreglando un problema de LVM en Kubernetes en AWS

Hemos estado migrando nuestra infraestructura heredada a Kubernetes. La capacidad de desplegar en segundos hace una gran diferencia en términos del número de Magra experimentos que podemos asumir. Kubernetes nos da una manera de administrar la simplicidad del contenedor Docker a una escala que puede manejar eventos de widget de 1 mil millones con el procesamiento de datos correspondiente que debe suceder.

Mientras que Kubernetes es impresionante, todavía es relativamente nuevo y hay un montón de lugares para contribuir. Todo empezó cuando nuestro nodo maestro bajó en AWS – no volvió a subir. Debería haberlo. Los nodos de AWS están configurados para volver sin problema. Esto llevó a mi primer Cometer. Después de excavar en los registros del sistema vi este error flagrante:

The disk drive for /mnt/ephemeral is not ready yet or not present.
keys:Continue to wait, or Press S to skip mounting or M for manual recovery

Al excavar en la fuente, encontré que en AWS, los scripts Kubernetes crean un volumen LVM para almacenar los datos.

lvcreate -l 100%FREE --thinpool pool-ephemeral vg-ephemeral

Ejecutar el código parecía funcionar. Más que eso, el maestro trabajaba en el arranque. ¿Qué estaba pasando? Me registré en un maestro existente y busqué el volumen lógico. ¡ No estaba allí! El directorio era el allí, pero el volumen no era.

Volviendo a los logs del sistema (desde el primer arranque), vemos este error en ' lvcreate ':

Insufficient free space: 3905 extents needed, but only 3897 available

Al parecer, este es un problema en lvcreate en general: no se puede utilizar 100% gratis con una piscina delgada! Va a fallar. Puede ver más detalles en el Billete.

Bueno, no había necesidad de usar un thinpool para esto. No estamos sobreaprovisionando el disco en Kubernetes — > mi primera solicitud de extracción! Firmé el contrato de licencia del contribuyente y el resto es historia.

Ahora tenemos 4 clusters de Kubernetes de producción con docenas de pods (y nodos maestros reiniciables) y esperamos con ansias la estabilidad y el trabajo de alta disponibilidad que viene en "Ubernetes". Si usted está interesado en resolver problemas como este nos encantaría tenerte ¡ Únase a nuestro equipo!

Sobre ShareThis

ShareThis ha desbloqueado el poder del comportamiento digital global sintetizando los datos de participación social, interés e intención desde 2007. Gracias al comportamiento de los consumidores en más de tres millones de dominios globales, ShareThis observa las acciones en tiempo real de personas reales en destinos digitales reales.

Suscríbase a nuestro boletín de noticias

Recibe las últimas noticias, consejos y actualizaciones

Suscribirse

Contenido relacionado