Polaris wurde präsentiert, um die Kubernetes-Cluster in einem gesunden Zustand zu halten.

Hinweis.: Der ursprüngliche Text wurde von Rob Scott verfasst, einem führenden SRE-Ingenieur bei ReactiveOps, dem Unternehmen hinter dem angekündigten Projekt. Die Idee einer zentralisierten Validierung dessen, was in Kubernetes bereitgestellt wird, ist uns sehr vertraut, deshalb verfolgen wir solche Initiativen mit großem Interesse.

Polaris wurde präsentiert, um die Kubernetes-Cluster in einem gesunden Zustand zu halten.

Ich freue mich, vorzustellen Polaris — ein Open-Source-Projekt, das dabei hilft, die "Gesundheit" eines Kubernetes-Clusters aufrechtzuerhalten. Wir haben Polaris entwickelt, um einige der besten Praktiken zu automatisieren, die bei ReactiveOps zur Sicherstellung der sicheren und zuverlässigen Funktionalität von Clustern für eine große Anzahl von Kunden eingesetzt werden. Die Zeit ist gekommen, den Quellcode offenzulegen.

Immer wieder haben wir erlebt, wie scheinbar unbedeutende Fehler in der Konfiguration zu ernsthaften Problemen führten, wodurch die Ingenieure nachts nicht schlafen konnten. Etwas ganz Einfaches — wie das versehentliche Versäumnis, eine Konfiguration für Ressourcenanforderungen (resource requests) — könnte das Auto-Scaling stören und dazu führen, dass Arbeitslasten ohne Ressourcen bleiben. Wo zuvor geringfügige Konfigurationsfehler zu Produktionsausfällen führten, ermöglicht Polaris, diese vollständig zu verhindern.

Polaris hilft, Konfigurationsprobleme zu vermeiden, die die Stabilität, Zuverlässigkeit, Skalierbarkeit und Sicherheit Ihrer Anwendungen beeinträchtigen. Es ermöglicht eine einfache Identifizierung von Schwächen in Deployment-Konfigurationen und verhindert zukünftige Probleme. Mit Polaris können Sie ruhig schlafen und sicher sein, dass Ihre Anwendungen anhand gut bewährter Standards bereitgestellt werden.

Polaris besteht aus zwei zentralen Komponenten:

  1. einem Dashboard, das Informationen darüber bereitstellt, wie korrekt die bestehenden Deployments im Cluster konfiguriert sind;
  2. einem experimentellen Prüf-WebHook, der verhindert, dass Deployments, die nicht den akzeptierten Standards entsprechen, bereitgestellt werden.

Polaris Dashboard

Die Polaris-Konsole bietet eine einfache und übersichtliche Möglichkeit, den aktuellen Status von Deployments in Kubernetes zu überprüfen und Empfehlungen zur Verbesserung zu erhalten. Sie ermöglicht einen umfassenden Überblick über den Cluster und kategorisiert die Ergebnisse nach Kategorien, Namespaces und Deployments.

Polaris wurde präsentiert, um die Kubernetes-Cluster in einem gesunden Zustand zu halten.

Die Standardwerte, die in Polaris festgelegt sind, sind relativ hoch, daher wundern Sie sich nicht, wenn die Bewertung niedriger ausfällt als erwartet. Das Hauptziel von Polaris ist es, hohe Standards zu setzen und eine hervorragende Standardkonfiguration anzustreben. Sollte die empfohlene Konfiguration zu restriktiv erscheinen, kann sie während des Deployments angepasst werden, um sie an spezifische Arbeitslasten zu optimieren.

Im Rahmen der Veröffentlichung von Polaris haben wir uns nicht nur darauf konzentriert, das Tool vorzustellen, sondern auch die darin enthaltenen Tests 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

Wenn das Dashboard einen Überblick über die aktuelle Konfiguration der Deployments bietet, sorgt der Webhook dafür, dass alle zukünftigen Deployments im Cluster den Standards entsprechen.

Nachdem die durch das Dashboard identifizierten Probleme behoben wurden, kann der Webhook verwendet werden, um sicherzustellen, dass die Konfiguration nicht unter den festgelegten Standard sinkt. Der Webhook lässt keine Deployments im Cluster zu, deren Konfiguration erhebliche Abweichungen aufweist (Fehlerlevel).

Das Potenzial dieses Webhooks ist vielversprechend, jedoch ist umfangreiche Tests erforderlich, um ihn für den Produktionsbetrieb zu qualifizieren. Derzeit handelt es sich um eine experimentelle Funktion und einen Teil eines völlig neuen Open Source-Projekts. Da er Aktualisierungen der Deployments behindern kann, verwenden Sie ihn bitte mit Vorsicht.

Erste Schritte

Ich hoffe, dass Polaris – ein Tool ist, das Ihnen nützlich sein könnte, da Sie weiterhin diese Ankündigung lesen. Möchten Sie das Dashboard selbst ausprobieren? Das Bereitstellen des Dashboards in einem 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 Folgendes aus:

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

Jetzt müssen Sie das Port-Forwarding konfigurieren, um auf das Dashboard über den lokalen Port 8080 zugreifen zu können:

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

Natürlich gibt es viele andere Möglichkeiten, Polaris zu verwenden und bereitzustellen, auch über Helm. Darüber und vieles mehr können Sie im Polaris-Repository auf GitHub.

Das ist erst der Anfang

Wir sind stolz auf das, was wir bereits in Polaris integriert haben, aber die Geschichte endet hier nicht. Es stehen viele 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 Implementierung in den Regeln für die Ausnahmeprüfung auf Namespace- oder Ressourcenebene. Wenn Sie weitere Informationen zu unseren Plänen erhalten möchten, werfen Sie einen Blick auf die Roadmap.

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

P.S. vom Übersetzer

Lesen Sie auch in unserem Blog:

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster