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

Nota. traducir: El original de este texto fue escrito por Rob Scott, un ingeniero líder en SRE en ReactiveOps, que está detrás del desarrollo del proyecto anunciado. La idea de una validación centralizada de lo que se implementa en Kubernetes está muy cerca de nosotros, por lo que seguimos este tipo de iniciativas con interés.

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

Me alegra presentarles Polaris es un proyecto de código abierto que ayuda a mantener la salud de un clúster de Kubernetes. Creamos Polaris para automatizar algunas de las mejores prácticas utilizadas en ReactiveOps para mantener los clústeres funcionando de forma segura y confiable en una gran cantidad de clientes. Es hora de abrir el código fuente.

Una y otra vez, hemos visto errores de configuración aparentemente menores que conducen a problemas importantes que mantienen a los ingenieros despiertos por la noche. Algo muy simple, por ejemplo, la configuración de solicitudes de recursos que se olvidaron por olvido. (solicitudes de recursos) – podría romper el escalado automático e incluso provocar que las cargas de trabajo se queden sin recursos. Si antes pequeños errores de configuración provocaban interrupciones en la producción, ahora Polaris permite evitarlos por completo.

Polaris le ayuda a evitar problemas de configuración que afectan la estabilidad, confiabilidad, escalabilidad y seguridad de sus aplicaciones. Facilita la identificación de fallas en las configuraciones de implementación y previene problemas futuros. Con Polaris, puede dormir tranquilo sabiendo que sus aplicaciones se implementan utilizando un conjunto de estándares bien probados.

Polaris consta de dos componentes clave:

  1. un panel de seguimiento que proporciona información sobre qué tan bien están configuradas las implementaciones existentes en el clúster;
  2. un webhook de prueba experimental que evita que se implementen implementaciones que no cumplan con el estándar aceptado.

Panel Polaris

El panel de Polaris se creó para proporcionar una forma sencilla y visual de ver el estado actual de las implementaciones de Kubernetes y obtener recomendaciones para mejoras. Proporciona una descripción general completa del clúster y también desglosa los resultados por categoría, espacio de nombres e implementación.

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

Los estándares predeterminados de Polaris son bastante altos, así que no se sorprenda si su puntaje es más bajo de lo que esperaba. El principal objetivo de Polaris es establecer altos estándares y esforzarse por lograr una excelente configuración predeterminada. Si la configuración propuesta parece demasiado rígida, se puede corregir durante el proceso de configuración de implementación, optimizándola para 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 incluye. Cada revisión incluye un enlace a documentación relacionada, que explica por qué creemos que es importante y proporciona enlaces a recursos adicionales sobre el tema.

Gancho web Polaris

Si el panel ayuda a obtener una descripción general de la configuración actual de las implementaciones, entonces el webhook garantiza el cumplimiento de los estándares para todas las implementaciones que se implementarán en el clúster.

Una vez que se corrigen los problemas identificados por el panel, puede utilizar un webhook para asegurarse de que la configuración nunca vuelva a caer por debajo del estándar establecido. El webhook no permitirá implementaciones en el clúster cuya configuración contenga desviaciones significativas (el nivel de "error").

El potencial de este webhook es apasionante, pero aún será necesario realizar pruebas exhaustivas para considerarlo listo para producción. Actualmente, esta es una característica experimental y parte de un proyecto de código abierto completamente nuevo. Dado que puede interferir con la actualización de las implementaciones, utilícelo con precaución.

Primeros pasos

Espero que, dado que todavía estás leyendo este anuncio, Polaris sea una herramienta que te resulte útil. ¿Quieres probar Dashboard por ti mismo? Implementar un panel en un clúster es muy sencillo. Se instala con derechos mínimos (solo lectura) y todos los datos permanecen dentro. Para implementar Dashboard usando kubectl, ejecute:

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

Ahora necesita 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 utilizar e implementar Polaris, incluido el uso de Helm. Puedes aprender sobre esto y mucho más en Repositorio de Polaris en GitHub.

Esto es solo el comienzo.

Estamos entusiasmados con lo que Polaris ha construido hasta ahora, pero la historia no termina ahí. Hay muchas pruebas nuevas en camino que nos gustaría agregar para ampliar la funcionalidad. También estamos buscando una mejor manera de implementar reglas de verificación de excepciones a nivel de espacio de nombres o recursos. Si deseas obtener más información sobre nuestros planes, consulta mapa vial.

Si tiene la impresión de que Polaris podría resultar útil, tómese el tiempo para probarlo. Estaremos encantados de aceptar cualquier idea, comentario, pregunta o solicitud de extracción. Puedes contactarnos en sitio del proyectoEn GitHub o Twitter.

PD del traductor

Lea también en nuestro blog:

Fuente: habr.com

Añadir un comentario