Note de traduction.: L'original de ce texte a été écrit par Rob Scott, ingénieur SRE chez ReactiveOps, qui développe le projet annoncé. L'idée de validation centralisée de ce qui est déployé dans Kubernetes nous tient particulièrement à cœur, c'est pourquoi nous suivons ces initiatives avec intérêt.

Je suis heureux de présenter — un projet open source qui aide à maintenir la « santé » du cluster Kubernetes. Nous avons créé Polaris pour automatiser certaines des meilleures pratiques utilisées chez ReactiveOps pour assurer un fonctionnement sûr et fiable des clusters pour de nombreux clients. Il est temps d'ouvrir le code source.
Encore et encore, nous avons été témoins de la manière dont des erreurs apparemment mineures dans la configuration ont conduit à de sérieux problèmes, dérangeant le sommeil des ingénieurs. Quelque chose de tout à fait simple — comme une configuration de demandes de ressources omise par inadvertance (resource requests) — pouvait casser l'autoscaling et même entraîner des charges de travail sans ressources. Alors que des erreurs mineures dans la configuration provoquaient auparavant des interruptions en production, Polaris permet désormais de les éviter complètement.
Polaris aide à éviter les problèmes de configuration qui impactent la stabilité, la fiabilité, l'évolutivité et la sécurité de vos applications. Il permet d'identifier facilement les défauts dans la configuration des déploiements et d'éviter les problèmes futurs. Avec Polaris, vous pouvez dormir paisiblement, sachant que les applications sont déployées selon un ensemble de normes bien définies.
Polaris se compose de deux composants clés :
- un tableau de bord de surveillance, fournissant des informations sur la manière dont les déploiements existants dans le cluster sont configurés correctement ;
- un webhook de vérification expérimentale, empêchant le déploiement de configurations qui ne répondent pas aux normes établies.
Tableau de bord Polaris
Le tableau de bord de Polaris a été créé pour offrir une vue simple et claire de l'état actuel des déploiements dans Kubernetes et fournir des recommandations d'amélioration. Il offre une vue d'ensemble complète du cluster et ventile également les résultats par catégories, espaces de noms et déploiements.

Les normes par défaut établies dans Polaris sont suffisamment élevées, alors ne soyez pas surpris si votre évaluation est inférieure à vos attentes. L'objectif principal de Polaris est d'établir des normes élevées et de s'efforcer d'atteindre une excellente configuration par défaut. Si la configuration proposée vous semble trop rigide, elle peut être ajustée lors du processus de configuration du déploiement, en l'optimisant pour des charges de travail spécifiques.
Dans le cadre de la publication de Polaris, nous avons décidé de non seulement présenter l'outil lui-même, mais aussi de décrire en détail les tests qu'il comprend. Chaque vérification inclut un lien vers la documentation correspondante, où nous expliquons pourquoi nous considérons cela important et fournissons des liens vers des ressources supplémentaires sur le sujet.
Webhook Polaris
Si le tableau de bord aide à avoir un aperçu de la configuration actuelle des déploiements, le webhook garantit le respect des normes pour tous les déploiements qui seront déployés dans le cluster.
Une fois les problèmes identifiés par le tableau de bord corrigés, vous pouvez utiliser le webhook pour garantir que la configuration ne tombe plus jamais en dessous de la norme établie. Le webhook empêchera de déployer dans le cluster des déploiements dont la configuration présente des écarts significatifs (niveau « erreur »).
Le potentiel de ce webhook est inspirant, mais pour le considérer comme prêt pour la production, des tests minutieux sont encore nécessaires. Pour l'instant, il s'agit d'une fonctionnalité expérimentale et d'une partie d'un tout nouveau projet Open Source. Étant donné qu'il peut perturber la mise à jour des déploiements, utilisez-le avec précaution.
Commencer
J'espère qu'après avoir lu cet annonce, Polaris est un outil qui pourrait vous être utile. Vous souhaitez essayer le tableau de bord par vous-même ? Déployer le tableau de bord dans un cluster est très simple. Il s'installe avec des droits minimaux (lecture seule) et toutes les données restent à l'intérieur. Pour déployer le tableau de bord à l'aide de kubectl, exécutez :
kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yamlVous devez maintenant configurer le transfert de ports pour accéder au tableau de bord via le port local 8080 :
kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80Bien sûr, il existe de nombreuses autres façons d'utiliser et de déployer Polaris, y compris via Helm. Vous pouvez en apprendre davantage à ce sujet et bien plus encore dans .
Ce n'est que le début
Nous sommes ravis de ce que nous avons pu intégrer dans Polaris, mais l'histoire ne s'arrête pas là. De nombreux nouveaux tests sont en cours qui permettront d'élargir ses fonctionnalités. Nous cherchons également la meilleure façon de mettre en œuvre les règles de vérification des exceptions au niveau des espaces de noms ou des ressources. Si vous souhaitez obtenir plus d'informations sur nos projets, consultez la .
Si vous avez l'impression que Polaris pourrait être utile, veuillez prendre le temps de l'essayer. Nous sommes ouverts à toutes idées, commentaires, questions ou demandes de tirage. Vous pouvez nous contacter à , sur ou sur .
P.S. de l'auteur
Lisez aussi dans notre blog :
- «»;
- «»;
- «»;
- «».
Source : habr.com
