Se presenta Polaris para mantener los clústeres de Kubernetes en buen estado

Nota de traducción.: El autor original de este texto es Rob Scott, un ingeniero SRE destacado en ReactiveOps, la empresa detrás del proyecto anunciado. Nos sentimos muy cercanos a la idea de validación centralizada de lo que se despliega en Kubernetes, por lo que seguimos con interés iniciativas como esta.

Se presenta Polaris para mantener los clústeres de Kubernetes en buen estado

Me complace presentar Polaris — un proyecto de código abierto que ayuda a mantener la 'salud' del clúster de Kubernetes. Creamos Polaris para automatizar algunas de las mejores prácticas que utilizamos en ReactiveOps para mantener un funcionamiento seguro y confiable de los clústeres para un gran número de clientes. Ha llegado el momento de abrir el código fuente.

Una y otra vez hemos sido testigos de cómo errores aparentemente menores en la configuración provocaban problemas graves, que impedían a los ingenieros dormir por la noche. Algo tan simple como una configuración de solicitudes de recursos, (resource requests) — podría romper la escalabilidad automática e incluso dejar a las cargas de trabajo sin recursos. Si antes, los errores menores en la configuración causaban interrupciones en producción, ahora Polaris permite prevenirlos por completo.

Polaris ayuda a evitar problemas de configuración que afectan la estabilidad, confiabilidad, escalabilidad y seguridad de tus aplicaciones. Facilita la identificación de deficiencias en la configuración de despliegues y previene problemas futuros. Con Polaris, puedes dormir tranquilo, sabiendo que las aplicaciones se han desplegado utilizando un conjunto de estándares bien probados.

Polaris se compone de dos componentes clave:

  1. un panel de monitoreo que proporciona información sobre cuán correctamente están configurados los despliegues existentes en el clúster;
  2. un webhook de verificación experimental que previene la implementación de despliegues que no cumplen con el estándar aceptado.

Polaris Dashboard

El panel en Polaris fue creado para ofrecer una forma simple y visual de ver el estado actual de los despliegues en Kubernetes y obtener recomendaciones para mejoras. Proporciona una visión completa del clúster, así como desgloses de resultados por categorías, espacios de nombres y despliegues.

Se presenta Polaris para mantener los clústeres de Kubernetes en buen estado

Los estándares establecidos en Polaris de manera predeterminada son bastante altos, así que no te sorprendas si la calificación resulta ser más baja de lo que esperabas. El objetivo principal de Polaris es establecer altos estándares y aspirar a una excelente configuración por defecto. Si la configuración propuesta parece demasiado estricta, se puede ajustar durante el proceso de configuración del despliegue, optimizándola para cargas de trabajo específicas.

En el marco de la publicación de Polaris, decidimos no solo presentar la herramienta en sí, sino también describir detalladamente las pruebas que se incluyen en ella. Cada verificación incluye un enlace a la documentación correspondiente, donde se explica por qué consideramos que esto es importante y se proporcionan enlaces a recursos adicionales sobre el tema.

Polaris Webhook

Si el panel de monitoreo ayuda a obtener una visión general de la configuración actual de los despliegues, el webhook asegura el cumplimiento de los estándares para todos los despliegues que se implementarán en el clúster.

Una vez que se hayan corregido los problemas identificados por el panel de monitoreo, se puede utilizar el webhook para garantizar que la configuración nunca caiga por debajo del estándar establecido. El webhook no permitirá desplegar en el clúster implementaciones cuya configuración contenga desviaciones significativas (de nivel «error»).

El potencial de este webhook es inspirador, sin embargo, para que se considere listo para producción, aún se requerirá una exhaustiva prueba. Actualmente, es una función experimental y parte de un proyecto de código abierto completamente nuevo. Dado que puede interferir con la actualización de los despliegues, utilízalo con precaución.

Inicio

Espero que, dado que aún estás leyendo este anuncio, Polaris sea una herramienta que pueda ser útil para ti. ¿Quieres probar el Dashboard por ti mismo? Desplegar el panel en el clúster es muy fácil. Se instala con permisos mínimos (solo lectura), y todos los datos permanecen dentro. Para desplegar el Dashboard usando kubectl, ejecuta:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml

Ahora necesitas configurar el reenvío de puertos para acceder al Dashboard a través del puerto local 8080:

kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80

Por supuesto, hay muchas otras formas de usar y desplegar Polaris, incluyendo con Helm. Puedes aprender sobre esto y mucho más de repositorio Polaris en GitHub.

Esto es solo el comienzo

Estamos contentos de lo que ya hemos integrado en Polaris, pero la historia no termina aquí. Hay muchos nuevos tests en camino que nos gustaría añadir para expandir su funcionalidad. También estamos buscando la mejor manera de implementar las reglas de verificación de excepciones a nivel de espacios de nombres o recursos. Si desea obtener más información sobre nuestros planes, consulte el mapa de ruta.

Si tiene la impresión de que Polaris podría ser útil, por favor, tome un momento para probarlo. Apreciamos cualquier idea, comentario, pregunta o pull requests. Puede contactarnos en el sitio del proyecto, en GitHub o en Twitter.

P.D. del traductor

También puedes leer en nuestro blog:

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster