BLOG | NGINX

So verbessern Sie die Sichtbarkeit in Kubernetes

NGINX-Teil-von-F5-horiz-schwarz-Typ-RGB
Jenn Gile Miniaturbild
Jenn Gile
Veröffentlicht am 08. März 2021

Redakteur – Dieser Beitrag ist Teil einer 10-teiligen Serie:

  1. Reduzieren Sie die Komplexität mit produktionsreifem Kubernetes
  2. So verbessern Sie die Ausfallsicherheit in Kubernetes mit erweitertem Verkehrsmanagement
  3. So verbessern Sie die Sichtbarkeit in Kubernetes (dieser Beitrag)
  4. Sechs Möglichkeiten zur Sicherung von Kubernetes mit Traffic-Management-Tools
  5. Leitfaden zur Auswahl eines Ingress-Controllers, Teil 1: Identifizieren Sie Ihre Anforderungen
  6. Leitfaden zur Auswahl eines Ingress-Controllers, Teil 2: Risiken und Zukunftssicherheit
  7. Leitfaden zur Auswahl eines Ingress-Controllers, Teil 3: Open Source vs. Standard vs. Kommerziell
  8. Leitfaden zur Auswahl eines Ingress-Controllers, Teil 4: Optionen für den NGINX Ingress Controller
  9. So wählen Sie ein Service Mesh aus
  10. Leistungstests für NGINX-Ingress-Controller in einer dynamischen Kubernetes-Cloud-Umgebung

Sie können den kompletten Blogsatz auch als kostenloses E-Book herunterladen: Kubernetes vom Test zur Produktion bringen .
Die Einführung von Microservices beschleunigt digitale Erlebnisse, doch Microservices-Architekturen können diese Erlebnisse auch fragiler machen. Während Ihre Entwickler mit Hochdruck daran arbeiten, neue Apps auf den Markt zu bringen, besteht aufgrund Ihrer Architektur möglicherweise ein erhöhtes Risiko für Ausfälle und Sicherheitsrisiken. Außerdem vergeuden Sie Zeit mit der ineffizienten Fehlerbehebung oder dem Beheben vermeidbarer Probleme. In diesem zweiten Blog unserer Reihe zu produktionsreifem Kubernetes untersuchen wir, wie Komponenten, die Verkehrstransparenz bieten, die Komplexität reduzieren und die Sicherheit in Ihren Microservices-Umgebungen verbessern können.

Mehr Transparenz für mehr Erkenntnisse

Sehen wir uns zunächst einige Definitionen an:

  • Sichtbarkeit – Der Zustand, sehen oder gesehen werden zu können
  • Einsicht – Ein tiefes Verständnis einer Person oder Sache

In einer Umfrage von StackRox aus dem Jahr 2020 gaben 75 % der Kubernetes-Benutzer an, dass Sichtbarkeit eine unverzichtbare Funktion sei. Wir sind uns einig, dass Sichtbarkeit bei Kubernetes der Schlüssel ist, da es besonders schwierig sein kann, herauszufinden, was bereitgestellt wird. Und dennoch gaben 95 % der Teilnehmer an F5s „State of Application Strategy“ (SOAS) 2021 an, dass sie zwar über eine Fülle von Daten verfügen, ihnen aber die Erkenntnisse zur App-Leistung, -Sicherheit und -Verfügbarkeit fehlen, die sie zum Schutz und zur Weiterentwicklung ihrer Infrastruktur und ihres Geschäfts benötigen. Warum also ist Erkenntnis wichtig und wie erlangt man sie?

Mit Insight können Sie:

  • Verbessern Sie Sicherheit und Compliance durch die Erkennung von Schwachstellen und möglichen Angriffsmethoden.
  • Reduzieren Sie Ausfälle und Ausfallzeiten, indem Sie Probleme entdecken, bevor Ihre Kunden sie bemerken.
  • Verbessern Sie die Effizienz der Fehlerbehebung, indem Sie die Grundursache von App-Problemen ermitteln
  • Stellen Sie sicher, dass Ihr Datenverkehr nur dorthin geleitet wird, wo Sie ihn haben möchten
  • Wissen Sie genau, was in Ihren Kubernetes-Umgebungen läuft und ob es richtig konfiguriert und gesichert ist
  • Finden Sie anhand der Latenz und des Leistungsverlaufs heraus, ob Sie die richtige Menge an Ressourcen verwenden.
  • Vorhersage des saisonalen Bedarfs auf Grundlage früherer Verkehrsmuster
  • Messen Sie die Leistung anhand der Reaktionszeit, um die Leistung im Vergleich zu Service Level Agreements (SLAs) zu verfolgen und als Frühwarnsystem zu dienen, bevor Probleme das Benutzererlebnis beeinträchtigen

Um Erkenntnisse zu gewinnen, benötigen Sie zwei Arten von Sichtbarkeitsdaten: Echtzeitdaten und historische Daten. Mithilfe von Echtzeitdaten können Sie die Ursache eines aktuellen Problems diagnostizieren, während historische Daten einen Überblick darüber bieten, was „normal“ und was ein Ausreißer ist. In Kombination können diese beiden Arten von Sichtbarkeitsquellen wichtige Einblicke in die App- und Kubernetes-Leistung liefern.

Wie bei anderen Technologieinvestitionen benötigen Sie auch hier eine Strategie, um die Vorteile zu nutzen. Der SOAS-Bericht weist auch darauf hin, dass es aufgrund organisatorischer Faktoren im Zusammenhang mit der Einstellung und Entwicklung der Mitarbeiter, mit Strategien und Prozessen sowie mit der Konsensfindung darüber, wofür, wann und von wem die Daten verwendet werden sollten, nicht gelingt, wertvolle Erkenntnisse zu gewinnen. Zu den Ergebnissen gehören:

  • Verwandte Kompetenzen – Es ist kein Geheimnis, dass ein Mangel an qualifizierten Technologiefachleuten herrscht. Dies wird durch die Aussage von 47 % der Befragten bestätigt, die angeben, dass sie Schwierigkeiten haben, die benötigten Talente zu finden.
  • Initiativen zum Datenaustausch – Nur 12 % der Befragten verfügen über Prozesse und Strategien für die Datenrückmeldung an geschäftliche Entscheidungsträger, um sie auf die geschäftlichen Auswirkungen einer robusten Technologie (oder deren Fehlen) aufmerksam zu machen.
  • Der Zweck der Sichtbarkeit – Die meisten Befragten nutzen Telemetrie reaktiv (das heißt zur Fehlerbehebung), während nur 24 % der Befragten Daten und Erkenntnisse proaktiv nutzen, um auf potenzielle Leistungseinbußen zu achten, und 16 % zur Verfolgung der SLA-Leistung.

Der Rest dieses Beitrags konzentriert sich auf die technischen Aspekte der Erkenntnis. Halten Sie Ausschau nach zukünftigen Blogs zu Strategie, Prozessen und anderen Themen.

Wie NGINX helfen kann

Wir wissen, dass die meisten Kubernetes-Bereitstellungen bereits ein Überwachungstool verwenden und kein weiteres benötigen. Deshalb haben wir die NGINX Plus-API für den einfachen Export von Messdaten instrumentiert und bieten Integrationen mit beliebten Tools wie OpenTracing , Grafana und Prometheus , damit Sie sich einen vollständigen Überblick über die Leistung innerhalb Ihrer Cluster verschaffen können. Sie erhalten gezielte Einblicke in die App-Leistung und -Verfügbarkeit mit Deep Traces, sodass Sie verstehen, wie Anfragen in Ihren Microservices-Apps verarbeitet werden.

  • Einblick in den ein- und ausgehenden (Nord-Süd-)Verkehr
    NGINX Ingress Controller bietet Einblick in den ein- und ausgehenden Datenverkehr Ihrer Kubernetes-Cluster.

    Wussten Sie, dass es drei beliebte Ingress-Controller auf Basis von NGINX gibt? Nicht alle davon sind produktionsbereit und die falsche Wahl könnte Ihre Microservices-Strategie eher verkomplizieren als verbessern. Unser Blogbeitrag „Moment mal, welchen NGINX-Ingress-Controller für Kubernetes verwende ich?“ bietet einen Vergleich der Optionen, damit Sie die beste Entscheidung für Ihre Anforderungen treffen können.

  • Einblick in den Ost-West-Verkehr
    NGINX Service Mesh bietet Einblick in den Datenverkehr zwischen Container-Apps.

Lesen Sie weiter, um herauszufinden, wie wir bei zwei häufigen Problemen helfen können:

Wenn Sie bereit sind, die Technologie in Aktion zu sehen, schauen Sie sich diese Live-Stream-Demo und das AMA mit NGINX- und Grafana-Experten an. Sie sehen, wie sie Ihnen zeigen, wie Sie wichtige Lastausgleichs- und Leistungsmesswerte live überwachen, die Messdaten nach Prometheus exportieren und Grafana-Dashboards für die Ansicht der kumulierten Leistung erstellen.

Problem: Meine App ist langsam (oder ausgefallen!)

Sie vermuten einen DDoS-Angriff? Melden Benutzer Fehler von Ihrer Website? Sie können erst mit der Lösung des Problems beginnen, wenn Sie genau herausgefunden haben, wo es liegt.

  • Live-Überwachung mit NGINX Ingress Controller
    Mit NGINX Plus zeigt das Dashboard zur Live-Aktivitätsüberwachung , das von der NGINX Plus-API unterstützt wird, Hunderte wichtiger Auslastungs- und Leistungsmetriken an. Erhalten Sie detaillierte Informationen bis auf die Ebene eines einzelnen Pods, sodass Sie schnell und einfach die Reaktionszeiten von Apps messen und die Ursache eines Problems diagnostizieren können. Sollte Ihre Kubernetes-Umgebung wachsen, erhalten Sie automatisch Dashboards für jede zusätzliche NGINX Ingress Controller-Instanz.

    Beispielsweise können Sie über zwei Spalten auf der Registerkarte „HTTP-Upstreams“ sofort den Status der Anwendung und Infrastruktur ablesen:

    • Anfragen – Wenn die Anzahl der Anfragen pro Sekunde ( Anforderungen/s ) unter die Norm für die jeweilige Anwendung fällt (beispielsweise 5 Anfragen pro Sekunde, wenn 40 normal sind), ist der Ingress Controller oder die Anwendung möglicherweise falsch konfiguriert.
    • Reaktionszeit – Wenn die Reaktionszeiten 10 Millisekunden (ms) oder weniger betragen, sind Sie in einer hervorragenden Position. Eine Latenz von 30–40 ms oder mehr ist ein Zeichen für ein Problem mit Ihren Upstream-Anwendungen.

  • Stub-Status für NGINX Ingress Controller
    Mit NGINX Open Source enthält NGINX Ingress Controller eine Statusseite , die acht grundlegende Kennzahlen meldet.
  • OpenTracing mit NGINX Service Mesh
    NGINX Service Mesh unterstützt OpenTracing mit dem NGINX OpenTracing-Modul . Zum Zeitpunkt des Schreibens dieses Artikels unterstützt das Modul Datadog, LightStep, Jaeger und Zipkin.

Problem: Meinem Cluster oder meiner Plattform gehen die Ressourcen aus

Haben Sie HTTP-Fehler?503 Und 40x Fehler zeigen an, dass ein Problem mit Ihren Ressourcen vorliegt, während502 Dies bedeutet, dass eine Konfigurationsänderung nicht funktioniert hat. Verwenden Sie historische Daten, um zu diagnostizieren, wo Ihnen möglicherweise die Ressourcen ausgehen.

  • Protokollierung mit NGINX Ingress Controller
    Der erste Schritt bei der Diagnose von Netzwerkproblemen besteht darin, die Protokolle des NGINX Ingress Controller zu überprüfen, in denen jeder Protokolleintrag mit dem entsprechenden Kubernetes-Dienst kommentiert ist. Einträge zu Fehlern identifizieren den zugehörigen Dienst. Die Protokolle enthalten ausführliche Informationen über den gesamten Datenverkehr, der über den Ingress Controller gelaufen ist, einschließlich Zeitstempel, Quell-IP-Adresse und Antwortstatuscode. Sie können Protokolle auch in beliebte Aggregatoren wie Datadog, Grafana und Splunk exportieren.
  • Prometheus-Metriken
    Eine der beliebtesten Funktionen des NGINX Ingress Controllers ist seine ständig wachsende Liste von Prometheus-Metriken , die Metriken zur Netzwerkleistung und zum Ingress-Controller-Verkehr enthalten. Mit NGINX Plus exportiert der NGINX Ingress Controller Metriken zu Verbindungen, Caching, HTTP- und TCP/UDP-Verkehr, der von Gruppen von NGINX-Workern gehandhabt wird, die Daten in einer Speicherzone gemeinsam nutzen , HTTP- und TCP/UDP-Verkehr, der von Gruppen von Backend-Servern gehandhabt wird, und mehr.

    NGINX Service Mesh stellt einen Prometheus-Server bereit , der die NGINX Plus-API verwendet, um Metriken von NGINX Service Mesh-Sidecars und NGINX Ingress Controller-Pods zu extrahieren. Wenn Sie lieber eine vorhandene Prometheus-Bereitstellung verwenden möchten, stellen wir auch Scrape-Konfigurationen zur Verfügung, die Sie Ihrer Prometheus-Konfigurationsdatei hinzufügen können.

  • Grafana-Dashboards
    Wir bieten offizielle Grafana-Dashboards für NGINX Ingress Controller und NGINX Service Mesh , die vom Prometheus Exporter bereitgestellte Metriken visualisieren. Benutzer schätzen die Granularität der Daten, die Details bis auf die Millisekunde genau, tägliche Überlagerungen und Verkehrsspitzen umfassen. Beispielsweise kann das NGINX Service Mesh-Dashboard anzeigen, dass Ihre Pods voll ausgelastet sind, indem es die Datenverkehrsmenge auf einem einzelnen Dienst oder Pod und die Anzahl der überwachten aktiven Pods anzeigt.

Produktionsvorbereitung mit NGINX

Der produktionsreife NGINX Ingress Controller (basierend auf NGINX Plus) ist als kostenlose 30-Tage-Testversion verfügbar und umfasst NGINX App Protect zum Schutz Ihrer Container-Apps. Das stets kostenlose NGINX Service Mesh steht unter f5.com zum Download bereit.


„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."