Nota perev. : El original de este texto fue escrito por Rob Scott, un ingeniero líder de SRE en ReactiveOps, que está detrás del desarrollo del proyecto anunciado. Estamos muy cerca de la idea de la validación centralizada de lo que se está implementando en Kubernetes, por lo que seguimos con interés estas iniciativas.
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 utilizadas por ReactiveOps para mantener la operación segura y confiable de clústeres en una gran cantidad de clientes. Es hora de abrir el código fuente.
Una y otra vez, fuimos testigos de cómo defectos aparentemente menores en la configuración condujeron a serios problemas que impidieron que los ingenieros durmieran por la noche. Algo bastante simple, por ejemplo, la configuración de
solicitudes de recursos perdida por el olvido, podría romper el autoescalado e incluso provocar que las cargas de trabajo se queden sin recursos. Anteriormente, las pequeñas omisiones de configuración conducían a interrupciones de producción, pero ahora Polaris puede evitarlas por completo.
Polaris lo ayuda a evitar problemas de configuración que afectan la estabilidad, confiabilidad, escalabilidad y seguridad de sus aplicaciones. Facilita la identificación de debilidades en las configuraciones de implementación y evita futuros problemas. Con Polaris, puede dormir profundamente, sabiendo que las aplicaciones se implementan utilizando un conjunto de estándares bien probados.
Polaris tiene dos componentes clave:
- un panel de control que proporciona información sobre cómo se configuran correctamente las implementaciones existentes en el clúster;
- Un webhook de prueba experimental que evita que se implementen implementaciones que no cumplen con el estándar aceptado.
Tablero Polaris
El panel en Polaris se creó para brindar una oportunidad simple y clara de ver el estado actual de despliegue en Kubernetes y recibir recomendaciones para mejoras. Proporciona una descripción completa del clúster y también desglosa los resultados en categorías, espacios de nombres e implementación.

Los estándares predeterminados de Polaris son bastante altos, así que no se sorprenda si la calificación es más baja de lo que esperaba. El objetivo principal de Polaris es establecer altos estándares y luchar por una excelente configuración predeterminada. Si la configuración propuesta parece demasiado rígida, se puede solucionar durante el proceso de configuración de la implementación, optimizando las cargas de trabajo específicas.
Como parte de la publicación Polaris, decidimos no solo presentar la herramienta en sí, sino también describir en detalle las pruebas que se incluyen en ella. Cada verificación incluye un enlace a la documentación relevante, que explica por qué consideramos esto importante, y proporciona enlaces a recursos adicionales sobre este tema.
Webhook Polaris
Si el panel le ayuda a obtener una visión general de la configuración de implementación actual, el enlace web garantiza el cumplimiento de los estándares para todas las implementaciones que solo se implementarán en el clúster.
Una vez que se han solucionado los problemas identificados por el tablero, puede usar el enlace web para que la configuración nunca más caiga por debajo del estándar establecido. Un enlace web no permitirá la implementación en un grupo de implementaciones cuya configuración contenga desviaciones significativas (del nivel de "error").
El potencial de este enlace web es alentador, pero aún se requieren pruebas rigurosas para prepararlo para la producción. Actualmente es una característica experimental y parte de un proyecto Open Source completamente nuevo. Dado que puede interferir con las actualizaciones de implementación, úselo con precaución.
Empezando
Espero que, dado que todavía está leyendo este anuncio, Polaris es una herramienta que puede resultarle útil. ¿Quieres probar Dashboard tú mismo? Implementar un panel en un clúster es muy fácil. Se instala con derechos mínimos (solo lectura), y todos los datos permanecen dentro. Para implementar Dashboard usando kubectl, haga:
kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml
Ahora debe configurar el reenvío de puertos para acceder al Panel 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 e implementar Polaris, incluido el uso de Helm. Puede obtener más información sobre esto y más desde
el repositorio Polaris en GitHub .
Esto es solo el comienzo.
Nos complace que ya hayamos logrado integrarnos en Polaris, pero la historia no termina ahí. Hay muchas pruebas nuevas en el camino que me gustaría agregar para ampliar la funcionalidad. También estamos buscando la mejor manera de implementar las reglas de verificación de excepciones a nivel de espacio de nombres o recursos. Si desea más información sobre nuestros planes, consulte la
hoja de ruta .
Si tiene la impresión de que Polaris podría ser útil, tómese un momento para probarlo. Nos complace aceptar cualquier idea, comentario, pregunta o solicitud de extracción. Puede contactarnos en
el sitio web del proyecto , en
GitHub o en
Twitter .
PD del traductor
Lea también en nuestro blog: