Polaris wurde eingeführt, um Kubernetes-Cluster gesund zu halten

Notiz. übersetzen: Das Original dieses Textes wurde von Rob Scott verfasst, einem führenden SRE-Ingenieur bei ReactiveOps, der hinter der Entwicklung des angekündigten Projekts steht. Die Idee einer zentralen Validierung dessen, was in Kubernetes bereitgestellt wird, liegt uns sehr am Herzen, daher verfolgen wir solche Initiativen mit Interesse.

Polaris wurde eingeführt, um Kubernetes-Cluster gesund zu halten

Gerne vorstellen Polaris ist ein Open-Source-Projekt, das dabei hilft, den Zustand eines Kubernetes-Clusters aufrechtzuerhalten. Wir haben Polaris entwickelt, um einige der in ReactiveOps verwendeten Best Practices zu automatisieren und dafür zu sorgen, dass Cluster bei einer großen Anzahl von Kunden sicher und zuverlässig laufen. Es ist Zeit, den Code als Open Source zu veröffentlichen.

Wir haben immer wieder erlebt, dass scheinbar geringfügige Konfigurationsfehler zu großen Problemen führten, die Ingenieure schlaflose Nächte bereiteten. Etwas ganz Einfaches – zum Beispiel die Konfiguration von Ressourcenanfragen, die aus Vergesslichkeit vergessen wurden (Ressourcenanfragen) – könnte die automatische Skalierung unterbrechen und sogar dazu führen, dass Workloads keine Ressourcen mehr haben. Wenn früher kleinere Fehler in der Konfiguration zu Produktionsunterbrechungen führten, können Sie diese jetzt mit Polaris vollständig verhindern.

Polaris hilft Ihnen, Konfigurationsprobleme zu vermeiden, die sich auf die Stabilität, Zuverlässigkeit, Skalierbarkeit und Sicherheit Ihrer Anwendungen auswirken. Es macht es einfach, Fehler in Bereitstellungskonfigurationen zu erkennen und zukünftige Probleme zu verhindern. Mit Polaris können Sie ruhig schlafen, da Sie wissen, dass Ihre Anwendungen nach einer Reihe bewährter Standards bereitgestellt werden.

Polaris besteht aus zwei Schlüsselkomponenten:

  1. ein Überwachungspanel, das Informationen darüber liefert, wie gut die vorhandenen Bereitstellungen im Cluster konfiguriert sind;
  2. ein experimenteller Test-Webhook, der verhindert, dass Bereitstellungen eingeführt werden, die nicht dem akzeptierten Standard entsprechen.

Polaris-Dashboard

Das Polaris-Dashboard wurde erstellt, um eine einfache und visuelle Möglichkeit zu bieten, den aktuellen Status von Kubernetes-Bereitstellungen anzuzeigen und Empfehlungen für Verbesserungen zu erhalten. Es bietet einen vollständigen Überblick über den Cluster und schlüsselt die Ergebnisse auch nach Kategorie, Namespace und Bereitstellung auf.

Polaris wurde eingeführt, um Kubernetes-Cluster gesund zu halten

Die Standardstandards von Polaris sind ziemlich hoch. Seien Sie also nicht überrascht, wenn Ihre Punktzahl niedriger ist als erwartet. Das Hauptziel von Polaris besteht darin, hohe Standards zu setzen und eine hervorragende Standardkonfiguration anzustreben. Wenn die vorgeschlagene Konfiguration zu starr erscheint, kann sie während des Bereitstellungskonfigurationsprozesses korrigiert und für bestimmte Arbeitslasten optimiert werden.

Im Rahmen der Polaris-Publikation haben wir uns entschieden, nicht nur das Tool selbst vorzustellen, sondern auch die darin enthaltenen Tests ausführlich zu beschreiben. Jede Rezension enthält einen Link zu verwandter Dokumentation, der erklärt, warum wir sie für wichtig halten, und Links zu zusätzlichen Ressourcen zu diesem Thema bereitstellt.

Polaris Webhook

Hilft das Dashboard dabei, sich einen Überblick über die aktuelle Konfiguration von Deployments zu verschaffen, dann sorgt der Webhook für die Einhaltung von Standards für alle Deployments, die im Cluster ausgerollt werden.

Sobald die vom Dashboard identifizierten Probleme behoben sind, können Sie mithilfe eines Webhooks sicherstellen, dass die Konfiguration nie wieder unter den festgelegten Standard fällt. Der Webhook lässt keine Bereitstellungen im Cluster zu, deren Konfiguration erhebliche Abweichungen aufweist (die Stufe „Fehler“).

Das Potenzial dieses Webhooks ist spannend, es sind jedoch noch umfangreiche Tests erforderlich, um als produktionsbereit zu gelten. Dies ist derzeit eine experimentelle Funktion und Teil eines völlig neuen Open-Source-Projekts. Da es die Aktualisierung von Bereitstellungen beeinträchtigen kann, sollten Sie es mit Vorsicht verwenden.

Erste Schritte

Da Sie diese Ankündigung noch lesen, hoffe ich, dass Polaris ein nützliches Tool für Sie ist. Möchten Sie Dashboard selbst ausprobieren? Die Bereitstellung eines Panels in einem Cluster ist sehr einfach. Es wird mit minimalen Rechten (nur Lesen) installiert und alle Daten bleiben darin. Um Dashboard mit kubectl bereitzustellen, führen Sie Folgendes aus:

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

Jetzt müssen Sie die Portweiterleitung konfigurieren, um über den lokalen Port 8080 auf das Dashboard zuzugreifen:

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

Natürlich gibt es viele andere Möglichkeiten, Polaris zu verwenden und bereitzustellen, einschließlich der Verwendung von Helm. Dies und noch viel mehr können Sie hier erfahren Polaris-Repository auf GitHub.

Dies ist nur der Anfang.

Wir sind gespannt auf das, was Polaris bisher gebaut hat, aber die Geschichte ist damit noch nicht zu Ende. Es sind viele neue Tests auf dem Weg, die wir hinzufügen möchten, um die Funktionalität zu erweitern. Wir suchen auch nach einer besseren Möglichkeit, Regeln zur Ausnahmeprüfung auf Namespace- oder Ressourcenebene zu implementieren. Wenn Sie weitere Informationen zu unseren Plänen wünschen, schauen Sie hier vorbei Straßenkarte.

Wenn Sie den Eindruck haben, dass Polaris nützlich sein könnte, nehmen Sie sich bitte die Zeit, es auszuprobieren. Wir nehmen gerne alle Ideen, Rückmeldungen, Fragen oder Pull-Requests entgegen. Sie können uns unter kontaktieren ProjektseiteIn GitHub oder Twitter.

PS vom Übersetzer

Lesen Sie auch auf unserem Blog:

Source: habr.com

Kommentar hinzufügen