Anmerkung des Übersetzers.: Der Originaltext wurde von Rob Scott verfasst – dem leitenden SRE-Ingenieur bei ReactiveOps, dem Unternehmen hinter dem angekündigten Projekt. Wir sind stark an der Idee einer zentralisierten Validierung dessen interessiert, was in Kubernetes bereitgestellt wird, daher verfolgen wir solche Initiativen mit großem Interesse.

Ich freue mich, vorzustellen – ein Open-Source-Projekt, das dabei hilft, die „Gesundheit“ von Kubernetes-Clustern zu unterstützen. Wir haben Polaris entwickelt, um einige der besten Praktiken zu automatisieren, die bei ReactiveOps zur Aufrechterhaltung einer sicheren und zuverlässigen Funktion der Cluster bei einer großen Anzahl von Kunden verwendet werden. Es ist an der Zeit, den Quellcode zu öffnen.
Immer wieder wurden wir Zeugen, wie scheinbar triviale Fehler in der Konfiguration zu ernsthaften Problemen führten, die es den Ingenieuren schwer machten, nachts zu schlafen. Etwas ganz Einfaches – zum Beispiel eine versehentlich vergessene Konfiguration der Ressourcenanforderungen (resource requests) – konnte das automatische Skalieren beeinträchtigen und sogar dazu führen, dass Arbeitslasten ohne Ressourcen blieben. Während früher geringfügige Konfigurationsfehler zu Störungen in der Produktion führten, ermöglicht es jetzt Polaris, diese vollständig zu vermeiden.
Polaris hilft, Probleme mit Konfigurationen zu vermeiden, die sich auf die Stabilität, Zuverlässigkeit, Skalierbarkeit und Sicherheit Ihrer Anwendungen auswirken. Es ermöglicht ein einfaches Erkennen von Mängeln in den Deployments und verhindert zukünftige Probleme. Mit Polaris kann man ruhig schlafen, in dem Wissen, dass Anwendungen unter Verwendung eines Sets gut getesteter Standards bereitgestellt werden.
Polaris besteht aus zwei Hauptkomponenten:
- einem Überwachungs-Dashboard, das Informationen darüber bereitstellt, wie korrekt die bestehenden Deployments im Cluster konfiguriert sind;
- einem experimentellen Validierungs-Webhooks, der das Ausrollen von Deployments verhindert, die nicht den festgelegten Standards entsprechen.
Polaris Dashboard
Das Dashboard in Polaris wurde entwickelt, um eine einfache und anschauliche Möglichkeit zu bieten, den aktuellen Zustand der Deployments in Kubernetes zu sehen und Empfehlungen zur Verbesserung zu erhalten. Es bietet einen umfassenden Überblick über den Cluster und unterteilt die Ergebnisse nach Kategorien, Namespaces und Deployments.

Die in Polaris standardmäßig festgelegten Standards sind recht hoch, daher wundern Sie sich nicht, wenn die Bewertung niedriger ausfällt, als Sie erwartet haben. Das Hauptziel von Polaris ist es, hohe Standards zu setzen und eine hervorragende Standardkonfiguration anzustreben. Wenn die vorgeschlagene Konfiguration zu streng erscheint, kann sie im Verlauf der Bereitstellungskonfiguration angepasst werden, um sie an spezifische Arbeitslasten zu optimieren.
Im Rahmen der Veröffentlichung von Polaris haben wir uns entschieden, nicht nur das Tool selbst vorzustellen, sondern auch die Tests, die darin enthalten sind, im Detail zu beschreiben. Jede Überprüfung enthält einen Link zur entsprechenden Dokumentation, in der erklärt wird, warum wir dies für wichtig halten, sowie Verweise auf zusätzliche Ressourcen zu diesem Thema.
Polaris Webhook
Während das Dashboard hilft, einen Überblick über die aktuelle Konfiguration der Bereitstellungen zu erhalten, sorgt der Webhook dafür, dass die Standards für alle Bereitstellungen, die im Cluster ausgerollt werden, eingehalten werden.
Nachdem die von der Überwachungsoberfläche festgestellten Probleme behoben wurden, kann der Webhook verwendet werden, um sicherzustellen, dass die Konfiguration nie wieder unter den festgelegten Standard fällt. Der Webhook lässt keine Bereitstellungen im Cluster zu, deren Konfiguration erheblich abweicht (Fehlerlevel «error»).
Das Potenzial dieses Webhooks ist vielversprechend, jedoch ist gründliches Testen notwendig, um ihn als produktionsbereit zu erkennen. Derzeit handelt es sich um eine experimentelle Funktion und einen Teil eines völlig neuen Open-Source-Projekts. Da er die Aktualisierung von Bereitstellungen behindern kann, verwenden Sie ihn mit Vorsicht.
Erste Schritte
Ich hoffe, dass, wenn Sie immer noch diese Ankündigung lesen, Polaris ein Tool ist, das für Sie nützlich sein könnte. Möchten Sie das Dashboard selbst ausprobieren? Die Bereitstellung des Dashboards im Cluster ist sehr einfach. Es wird mit minimalen Rechten (nur Lesen) installiert, und alle Daten bleiben intern. Um das Dashboard mit kubectl bereitzustellen, führen Sie aus:
kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yamlJetzt müssen Sie die Portweiterleitung einrichten, um über den lokalen Port 8080 auf das Dashboard zuzugreifen:
kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80Natürlich gibt es viele andere Möglichkeiten, Polaris zu nutzen und bereitzustellen, einschließlich der Verwendung von Helm. Darüber und über vieles mehr können Sie erfahren aus .
Das ist erst der Anfang
Wir freuen uns über die bereits in Polaris integrierten Funktionen, aber damit endet die Geschichte nicht. Es stehen zahlreiche neue Tests an, die wir hinzufügen möchten, um die Funktionalität zu erweitern. Außerdem suchen wir nach der besten Möglichkeit zur Umsetzung der Regeln für Ausnahmeprüfungen auf der Ebene von Namensräumen oder Ressourcen. Wenn Sie zusätzliche Informationen über unsere Pläne erhalten möchten, schauen Sie sich die .
Wenn Sie den Eindruck haben, dass Polaris nützlich sein könnte – bitte nehmen Sie sich die Zeit, es auszuprobieren. Wir freuen uns über alle Ideen, Rückmeldungen, Fragen oder Pull Requests. Sie können uns erreichen unter , in oder auf .
P.S. vom Übersetzer
Lesen Sie auch in unserem Blog:
- «»;
- «»;
- «»;
- «».
Quelle: habr.com
