|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Wie Monitoring funktioniert
1. Überblick über die Architektur
*Die folgenden Abschnitte beschreiben, wie Daten durch die Monitoring V2-Anwendung fließen:*
Prometheus Operator
Der Prometheus Operator beobachtet die Erstellung von ServiceMonitors, PodMonitors und PrometheusRules. Wenn die Konfigurationsressourcen von Prometheus erstellt werden, ruft der Prometheus Operator die Prometheus API auf, um die neue Konfiguration zu synchronisieren. Wie das Diagramm am Ende dieses Abschnitts zeigt, fungiert der Prometheus Operator als Vermittler zwischen Prometheus und Kubernetes, indem er die Prometheus API aufruft, um Prometheus mit den monitoringbezogenen Ressourcen in Kubernetes zu synchronisieren.
ServiceMonitors und PodMonitors
ServiceMonitors und PodMonitors spezifizieren deklarativ Ziele, wie Services und Pods, die überwacht werden müssen.
-
Ziele werden basierend auf dem konfigurierten Scrape-Intervall von Prometheus regelmäßig abgerufen, und die abgerufenen Metriken werden in der Prometheus Time Series Database (TSDB) gespeichert.
-
Um den Abruf durchzuführen, werden ServiceMonitors und PodMonitors mit Label-Selektoren definiert, die bestimmen, welche Services oder Pods abgerufen werden sollen, sowie Endpunkten, die festlegen, wie der Abruf beim gegebenen Ziel erfolgen soll, z.B. scrape/metrics über TCP 10252, Proxy über die IP-Adresse x.x.x.x.
-
Out of the box kommt Monitoring V2 mit bestimmten vorkonfigurierten Exportern, die basierend auf dem Typ des Kubernetes-Clusters, auf dem es bereitgestellt wird, bereitgestellt werden. Für weitere Informationen siehe Scraping und Exposing Metrics.
Wie PushProx funktioniert
-
Bestimmte interne Kubernetes-Komponenten werden über einen Proxy abgerufen, der als Teil von Monitoring V2 bereitgestellt wird und PushProx genannt wird. Die Kubernetes-Komponenten, die Metriken über PushProx an Prometheus exponieren, sind die folgenden:
kube-controller-manager,kube-scheduler,etcdundkube-proxy. -
Für jeden PushProx-Exporter setzen wir einen PushProx-Client auf allen Zielknoten ein. Zum Beispiel wird ein PushProx-Client auf allen Controlplane-Knoten für kube-controller-manager, allen etcd-Knoten für kube-etcd und allen Knoten für kubelet bereitgestellt.
-
Wir stellen genau einen PushProx-Proxy pro Exporter bereit. Der Prozess zum Exportieren von Metriken ist wie folgt:
-
Der PushProx-Client stellt eine ausgehende Verbindung zum PushProx-Proxy her.
-
Der Client fragt dann den Proxy nach Scrape-Anfragen, die beim Proxy eingegangen sind.
-
Wenn der Proxy eine Scrape-Anfrage von Prometheus erhält, sieht der Client dies als Ergebnis der Abfrage.
-
Der Client ruft die interne Komponente ab.
-
Die interne Komponente antwortet, indem sie Metriken zurück an den Proxy sendet.
-
PrometheusRules
PrometheusRules ermöglichen es Benutzern, Regeln zu definieren, für welche Metriken oder Zeitreihen-Datenbankabfragen Alarme ausgelöst werden sollen. Regeln werden in einem Intervall ausgewertet.
-
Aufzeichnungsregeln erstellen eine neue Zeitreihe basierend auf bestehenden Serien, die gesammelt wurden. Sie werden häufig verwendet, um komplexe Abfragen vorab zu berechnen.
-
Alarmierungsregeln führen eine bestimmte Abfrage aus und lösen einen Alarm von Prometheus aus, wenn die Abfrage einen von Null verschiedenen Wert ergibt.
Alarmweiterleitung
Sobald Prometheus feststellt, dass ein Alarm ausgelöst werden muss, werden die Alarme an Alertmanager weitergeleitet.
-
Alarme enthalten Labels, die aus der PromQL-Abfrage selbst stammen, sowie zusätzliche Labels und Annotationen, die als Teil der Spezifizierung der initialen PrometheusRule bereitgestellt werden können.
-
Bevor Alarme empfangen werden, verwendet der Alertmanager die in seiner Konfiguration angegebenen Routen und Empfänger, um einen Routingbaum zu bilden, in dem alle eingehenden Alarme ausgewertet werden. Jeder Knoten des Routingbaums kann zusätzliche Gruppierungen, Beschriftungen und Filterungen angeben, die basierend auf den an dem Prometheus-Alarm angehängten Labels erfolgen müssen. Ein Knoten im Routingbaum (normalerweise ein Blattknoten) kann auch angeben, dass ein Alarm, der ihn erreicht, an einen konfigurierten Empfänger, z. B. Slack, PagerDuty, SMS usw., gesendet werden muss. Beachten Sie, dass der Alertmanager einen Alarm zuerst an alertingDriver sendet, dann sendet oder leitet alertingDriver den Alarm an das richtige Ziel weiter.
-
Routen und Empfänger werden auch über die Kubernetes-API über das Alertmanager-Secret gespeichert. Wenn das Secret aktualisiert wird, wird auch der Alertmanager automatisch aktualisiert. Beachten Sie, dass das Routing nur über Labels erfolgt (nicht über Anmerkungen usw.).
2. Wie Prometheus funktioniert
Speichern von Zeitreihendaten
Nachdem Metriken von Exportern gesammelt wurden, speichert Prometheus die Zeitreihen in einer lokalen, auf der Festplatte befindlichen Zeitreihendatenbank. Prometheus integriert sich optional mit entfernten Systemen, verwendet jedoch rancher-monitoring lokalen Speicher für die Zeitreihendatenbank.
Sobald sie gespeichert sind, können Benutzer diese TSDB mit PromQL abfragen, der Abfragesprache für Prometheus.
PromQL-Abfragen können auf zwei Arten visualisiert werden:
-
Indem die Abfrage in der Graph UI von Prometheus bereitgestellt wird, die eine einfache grafische Ansicht der Daten zeigt.
-
Indem ein Grafana-Dashboard erstellt wird, das die PromQL-Abfrage und zusätzliche Formatierungsanweisungen enthält, die Achsen beschriften, Einheiten hinzufügen, Farben ändern, alternative Visualisierungen verwenden usw.
Regeln für Prometheus definieren
Regeln definieren Abfragen, die Prometheus regelmäßig evaluationInterval ausführen muss, um bestimmte Aktionen durchzuführen, wie das Auslösen einer Warnung (Alarmierungsregeln) oder das Vorberechnen einer Abfrage basierend auf anderen, die in seiner TSDB vorhanden sind (Aufzeichnungsregeln). Diese Regeln sind in benutzerdefinierten Ressourcen vom Typ PrometheusRules kodiert. Wenn benutzerdefinierte Ressourcen vom Typ PrometheusRules erstellt oder aktualisiert werden, beobachtet der Prometheus-Operator die Änderung und ruft die Prometheus-API auf, um die Menge der Regeln zu synchronisieren, die Prometheus derzeit in regelmäßigen Abständen bewertet.
Eine PrometheusRule ermöglicht es Ihnen, eine oder mehrere RuleGroups zu definieren. Jede RuleGroup besteht aus einer Menge von Regelobjekten, die jeweils entweder eine Alarmierungs- oder eine Aufzeichnungsregel mit den folgenden Feldern darstellen können:
-
Der Name des neuen Alarms oder der Aufzeichnung.
-
Ein PromQL-Ausdruck für den neuen Alarm oder die neue Aufzeichnung.
-
Labels, die dem Alarm oder der Aufzeichnung zugeordnet werden sollten, um diese zu identifizieren (z. B. Clustername oder Schweregrad).
-
Annotationen, die zusätzliche wichtige Informationen kodieren, die in der Benachrichtigung für einen Alarm angezeigt werden müssen (z. B. Zusammenfassung, Beschreibung, Nachricht, Runbook-URL usw.). Dieses Feld ist für Aufzeichnungsregeln nicht erforderlich.
Bei der Auswertung einer Regel führt Prometheus die bereitgestellte PromQL-Abfrage aus, fügt die bereitgestellten Labels hinzu und führt die entsprechende Aktion für die Regel aus. Wenn die Regel einen Alarm auslöst, fügt Prometheus auch die bereitgestellten Annotationen hinzu. Zum Beispiel wird eine Alarmierungsregel, die team: front-end als Label zur bereitgestellten PromQL-Abfrage hinzufügt, dieses Label zum ausgelösten Alarm hinzufügen, was es dem Alertmanager ermöglicht, den Alarm an den richtigen Empfänger weiterzuleiten.
Alarmierungs- und Aufzeichnungsregeln
Prometheus verwaltet nicht den Zustand, ob Alarme aktiv sind. Es löst Alarme wiederholt in jedem Bewertungsintervall aus und verlässt sich darauf, dass der Alertmanager die Alarme in sinnvolle Benachrichtigungen gruppiert und filtert.
Die evaluation_interval-Konstante definiert, wie oft Prometheus seine Alarmierungsregeln gegen die Zeitreihendatenbank auswertet. Ähnlich wie die scrape_interval hat auch die evaluation_interval standardmäßig eine Minute.
Die Regeln sind in einer Reihe von Regeldateien enthalten. Regeldateien enthalten sowohl Alarmierungsregeln als auch Aufzeichnungsregeln, aber nur Alarmierungsregeln führen nach ihrer Auswertung zu ausgelösten Alarmen.
Für Aufzeichnungsregeln führt Prometheus eine Abfrage aus und speichert sie dann als Zeitreihe. Diese synthetische Zeitreihe ist nützlich, um die Ergebnisse einer teuren oder zeitaufwändigen Abfrage zu speichern, damit sie in Zukunft schneller abgefragt werden kann.
Alarmierungsregeln werden häufiger verwendet. Immer wenn eine Alarmierungsregel zu einer positiven Zahl evaluiert, löst Prometheus einen Alarm aus.
Die Regeldatei fügt den Alarmen vor dem Auslösen Labels und Annotationen hinzu, abhängig vom Anwendungsfall:
-
Labels geben Informationen an, die den Alarm identifizieren und die Weiterleitung des Alarms beeinflussen könnten. Wenn Sie beispielsweise einen Alarm über einen bestimmten Container senden, kann die Container-ID als Label verwendet werden.
-
Annotationen bezeichnen Informationen, die keinen Einfluss darauf haben, wohin ein Alarm geleitet wird, zum Beispiel ein Runbook oder eine Fehlermeldung.
3. Wie der Alertmanager funktioniert
Der Alertmanager verarbeitet Alarme, die von Client-Anwendungen wie dem Prometheus-Server gesendet werden. Er kümmert sich um die folgenden Aufgaben:
-
Deduplizierung, Gruppierung und Weiterleitung von Benachrichtigungen an die richtige Empfängerintegration wie E-Mail, PagerDuty oder OpsGenie
-
Stummschaltung und Hemmung von Benachrichtigungen
-
Verfolgung von Benachrichtigungen, die über die Zeit ausgelöst werden
-
Versenden des Status, ob eine Benachrichtigung derzeit ausgelöst wird oder ob sie gelöst ist
Von alertingDrivers weitergeleitete Benachrichtigungen
Wenn alertingDrivers installiert sind, wird ein Service erstellt, das als URL des Empfängers für Teams oder SMS verwendet werden kann, basierend auf der Konfiguration des alertingDrivers. Die URL im Empfänger verweist auf die alertingDrivers; der Alertmanager sendet die Benachrichtigung zuerst an den alertingDriver, dann leitet der alertingDriver die Benachrichtigung an das richtige Ziel weiter oder sendet sie dorthin.
Weiterleitung von Benachrichtigungen an Empfänger
Der Alertmanager koordiniert, wohin Benachrichtigungen gesendet werden. Er ermöglicht es Ihnen, Benachrichtigungen basierend auf Etiketten zu gruppieren und sie auszulösen, basierend darauf, ob bestimmte Etiketten übereinstimmen. Eine oberste Route akzeptiert alle Benachrichtigungen. Von dort aus setzt der Alertmanager die Weiterleitung von Benachrichtigungen an Empfänger fort, basierend darauf, ob sie die Bedingungen der nächsten Route erfüllen.
Während die Formulare der Rancher-Benutzeroberfläche nur das Bearbeiten eines Routing-Baums ermöglichen, der zwei Ebenen tief ist, können Sie tiefer verschachtelte Routing-Strukturen konfigurieren, indem Sie das Alertmanager-Secret bearbeiten.
Konfiguration mehrerer Empfänger
Durch das Bearbeiten der Formulare in der Rancher-Benutzeroberfläche können Sie eine Empfängerressource einrichten, die alle Informationen enthält, die der Alertmanager benötigt, um Benachrichtigungen an Ihr Benachrichtigungssystem zu senden.
Durch das Bearbeiten von benutzerdefiniertem YAML in der Alertmanager- oder Receiver-Konfiguration können Sie auch Warnungen an mehrere Benachrichtigungssysteme senden. Für weitere Informationen siehe den Abschnitt zur Konfiguration von Empfänger.
4. Überwachung V2 spezifische Komponenten
Der Prometheus Operator führt eine Reihe von benutzerdefinierte Ressourcenbeschreibungen ein, die es Benutzern ermöglichen, Prometheus- und Alertmanager-Instanzen bereitzustellen und zu verwalten, indem sie diese benutzerdefinierten Ressourcen in einem Cluster erstellen und ändern.
Der Prometheus Operator aktualisiert automatisch Ihre Prometheus-Konfiguration basierend auf dem aktuellen Zustand der Ressourcen und Konfigurationsoptionen, die in der Rancher-Benutzeroberfläche bearbeitet werden.
Standardmäßig bereitgestellte Ressourcen
Standardmäßig wird eine Reihe von Ressourcen, die vom kube-prometheus Projekt kuratiert werden, auf Ihrem Cluster bereitgestellt, wenn die Rancher Monitoring-Anwendung installiert wird, um einen grundlegenden Überwachungs-/Alarmierungs-Stack einzurichten.
Die Ressourcen, die auf Ihrem Cluster bereitgestellt werden, um diese Lösung zu unterstützen, finden Sie im rancher-monitoring Helm-Chart, das sich eng am Upstream kube-prometheus-stack Helm-Chart orientiert, das von der Prometheus-Community mit bestimmten Änderungen im CHANGELOG.md gepflegt wird.
Standard-Exporter
Monitoring V2 stellt drei Standard-Exporter bereit, die zusätzliche Metriken liefern, die Prometheus speichern kann:
-
node-exporter: stellt Hardware- und Betriebssystemmetriken für Linux-Hosts bereit. Weitere Informationen zunode-exporterfinden Sie in der Upstream-Dokumentation. -
windows-exporter: stellt Hardware- und Betriebssystemmetriken für Windows-Hosts bereit (nur auf Windows-Clustern bereitgestellt). Weitere Informationen zuwindows-exporterfinden Sie in der Upstream-Dokumentation. -
kube-state-metrics: stellt zusätzliche Metriken bereit, die den Zustand der Ressourcen im Kubernetes-API verfolgen (z. B. Pods, Workloads usw.). Weitere Informationen zukube-state-metricsfinden Sie in der Upstream-Dokumentation.
ServiceMonitors und PodMonitors werden diese Exporter abfragen, wie hier definiert. Prometheus speichert diese Metriken, und Sie können die Ergebnisse entweder über die Benutzeroberfläche von Prometheus oder Grafana abfragen.
Siehe den Abschnitt Architektur für weitere Informationen zu Aufzeichnungsregeln, Alarmierungsregeln und Alertmanager.
In der Rancher-Benutzeroberfläche angezeigte Komponenten
Wenn die Überwachungsanwendung installiert ist, können Sie die folgenden Komponenten in der Rancher-Benutzeroberfläche bearbeiten:
| Komponente | Art der Komponente | Zweck und häufige Anwendungsfälle für die Bearbeitung |
|---|---|---|
ServiceMonitor |
Benutzerdefinierte Ressource |
Richtet Kubernetes-Dienste ein, um benutzerdefinierte Metriken abzufragen. Aktualisiert automatisch die Scrape-Konfiguration in der benutzerdefinierten Ressource von Prometheus. |
PodMonitor |
Benutzerdefinierte Ressource |
Richtet Kubernetes-Pods ein, um benutzerdefinierte Metriken abzufragen. Aktualisiert automatisch die Scrape-Konfiguration in der benutzerdefinierten Ressource von Prometheus. |
Empfänger |
Konfigurationsblock (Teil des Alertmanagers) |
Ändert Informationen darüber, wo eine Warnung gesendet werden soll (z. B. Slack, PagerDuty usw.) und alle notwendigen Informationen, um die Warnung zu senden (z. B. TLS-Zertifikate, Proxy-URLs usw.). Aktualisiert automatisch die benutzerdefinierte Ressource von Alertmanager. |
Marktzugangs- |
Konfigurationsblock (Teil des Alertmanagers) |
Ändert den Routing-Baum, der verwendet wird, um Warnungen basierend auf Labels zu filtern, zu kennzeichnen und zu gruppieren und sie an den entsprechenden Empfänger zu senden. Aktualisiert automatisch die benutzerdefinierte Ressource von Alertmanager. |
PrometheusRule |
Benutzerdefinierte Ressource |
Definiert zusätzliche Abfragen, die Warnungen auslösen müssen, oder definiert materialisierte Ansichten vorhandener Serien, die sich im TSDB von Prometheus befinden. Aktualisiert automatisch die benutzerdefinierte Ressource von Prometheus. |
PushProx
PushProx ermöglicht es Prometheus, Metriken über eine Netzwerkgrenze hinweg zu scrapen, wodurch verhindert wird, dass Benutzer Metrikports für interne Kubernetes-Komponenten auf jedem Knoten in einem Kubernetes-Cluster freigeben müssen.
Da die Metriken für Kubernetes-Komponenten im Allgemeinen im Hostnetzwerk der Knoten im Cluster bereitgestellt werden, implementiert PushProx ein DaemonSet von Clients, die im Hostnetzwerk jedes Knotens sitzen und eine ausgehende Verbindung zu einem einzelnen Proxy herstellen, der sich an der Kubernetes-API befindet. Prometheus kann dann so konfiguriert werden, dass es Scrape-Anfragen über den Proxy an jeden Client weiterleitet, was es ihm ermöglicht, Metriken von den internen Kubernetes-Komponenten abzufragen, ohne dass eingehende Knotenports geöffnet werden müssen.
Siehe Scraping Metrics mit PushProx für weitere Informationen.
5. Scraping und Exponierung von Metriken
Definieren, welche Metriken abgefragt werden
ServiceMonitors und PodMonitors definieren Ziele, die für Prometheus zum Abfragen vorgesehen sind. Die benutzerdefinierte Ressource von Prometheus sagt Prometheus, welche ServiceMonitors oder PodMonitors es verwenden soll, um herauszufinden, wo Metriken abgefragt werden sollen.
Der Prometheus-Operator beobachtet die ServiceMonitors und PodMonitors. Wenn es beobachtet, dass sie erstellt oder aktualisiert werden, ruft es die Prometheus-API auf, um die Scrape-Konfiguration in der Prometheus-Custom-Resource zu aktualisieren und sie mit der Scrape-Konfiguration in den ServiceMonitors oder PodMonitors synchron zu halten. Diese Scrape-Konfiguration sagt Prometheus, von welchen Endpunkten es Metriken abfragen soll und wie es die Metriken von diesen Endpunkten kennzeichnen wird.
Prometheus ruft alle Metriken ab, die in seiner Scrape-Konfiguration definiert sind, in jedem scrape_interval, was standardmäßig jede Minute erfolgt.
Die Scrape-Konfiguration kann als Teil der benutzerdefinierten Ressource von Prometheus angesehen werden, die in der Rancher-Benutzeroberfläche angezeigt wird.
Wie der Prometheus-Operator das Abfragen von Metriken einrichtet
Das Prometheus-Deployment oder StatefulSet ruft Metriken ab, und die Konfiguration von Prometheus wird durch die benutzerdefinierten Ressourcen von Prometheus gesteuert. Der Prometheus-Operator überwacht Prometheus- und Alertmanager-Ressourcen, und wenn sie erstellt werden, erstellt der Prometheus-Operator ein Deployment oder StatefulSet für Prometheus oder Alertmanager mit der benutzerdefinierten Konfiguration.
Wenn der Prometheus-Operator ServiceMonitors, PodMonitors und PrometheusRules beobachtet, die erstellt werden, weiß er, dass die Konfiguration in Prometheus aktualisiert werden muss. Er aktualisiert Prometheus, indem er zuerst die Konfiguration und die Regeldateien in den Volumes des Deployments oder StatefulSets von Prometheus aktualisiert. Dann ruft er die Prometheus-API auf, um die neue Konfiguration zu synchronisieren, was dazu führt, dass das Prometheus-Deployment oder StatefulSet vor Ort geändert wird.
Wie Metriken von Kubernetes-Komponenten exponiert werden
Prometheus ruft Metriken von Deployments ab, die als exporters, bekannt sind und die Zeitreihendaten in einem Format exportieren, das Prometheus verarbeiten kann. In Prometheus bestehen Zeitreihen aus Datenströmen von zeitgestempelten Werten, die zur gleichen Metrik und zum gleichen Satz von mit denselben Bezeichnungen versehenen Dimensionen gehören.
Metriken mit PushProx abfragen
Bestimmte interne Kubernetes-Komponenten werden über einen Proxy abgefragt, der als Teil von Monitoring V2 namens PushProx bereitgestellt wird. Für detaillierte Informationen zu PushProx siehe hier und den obigen Abschnitt Architektur.
Metriken-Scraping
Die folgenden Kubernetes-Komponenten werden direkt von Prometheus erfasst:
-
kubelet*
-
Traefik**
-
coreDns/kubeDns
-
kube-api-server
-
Sie können optional
hardenedKubelet.enabledverwenden, um einen PushProx zu nutzen, aber das ist nicht die Standardoption.-
Für RKE2-Cluster wird Traefik standardmäßig bereitgestellt und als interne Kubernetes-Komponente behandelt.
-
Metriken-Scraping basierend auf der Kubernetes-Distribution
Metriken werden je nach Kubernetes-Distribution unterschiedlich erfasst. Für Hilfe mit der Terminologie siehe hier. Für Details siehe die Tabelle unten:
| Kubernetes-Komponente | RKE2 | KubeADM | K3s |
|---|---|---|---|
kube-controller-manager |
rke2ControllerManager.enabled |
kubeAdmControllerManager.enabled |
k3sServer.enabled |
kube-scheduler |
rke2Scheduler.enabled |
kubeAdmScheduler.enabled |
k3sServer.enabled |
etcd |
rke2Etcd.enabled |
kubeAdmEtcd.enabled |
Nicht verfügbar |
kube-proxy |
rke2Proxy.enabled |
kubeAdmProxy.enabled |
k3sServer.enabled |
kubelet |
Erfasst Metriken, die direkt vom kubelet exponiert werden |
Erfasst Metriken, die direkt vom kubelet exponiert werden |
Erfasst Metriken, die direkt vom kubelet exponiert werden |
Traefik* |
Erfasst Metriken, die direkt vom kubelet exponiert werden |
Nicht verfügbar |
Nicht verfügbar |
coreDns/kubeDns |
Erfasst Metriken, die direkt von coreDns/kubeDns exponiert werden |
Erfasst Metriken, die direkt von coreDns/kubeDns exponiert werden |
Erfasst Metriken, die direkt von coreDns/kubeDns exponiert werden |
kube-api-server |
Erfasst Metriken, die direkt vom kube-api-server exponiert werden |
Erfasst Metriken, die direkt vom kube-api-server exponiert werden |
Erfasst Metriken, die direkt vom kube-api-server exponiert werden |
-
Für RKE2-Cluster wird Traefik standardmäßig bereitgestellt und als interne Kubernetes-Komponente behandelt.
Terminologie
-
kube-scheduler: Die interne Kubernetes-Komponente, die Informationen in der Pod-Spezifikation verwendet, um zu entscheiden, auf welchem Knoten ein Pod ausgeführt werden soll.
-
kube-controller-manager: Die interne Kubernetes-Komponente, die für das Knotenmanagement (Erkennung von Knotenfehlern), Pod-Replikation und die Erstellung von Endpunkten verantwortlich ist.
-
etcd: Die interne Kubernetes-Komponente, die der verteilte Schlüssel/Wert-Speicher ist, den Kubernetes für die persistente Speicherung aller Clusterinformationen verwendet.
-
kube-proxy: Die interne Kubernetes-Komponente, die den API-Server auf Änderungen bei Pods/Diensten überwacht, um das Netzwerk aktuell zu halten.
-
kubelet: Die interne Kubernetes-Komponente, die den API-Server auf Pods auf einem Knoten überwacht und sicherstellt, dass sie ausgeführt werden.
-
Traefik: Ein Ingress-Controller für Kubernetes, der als Reverse-Proxy und Lastenausgleich verwendet werden kann.
-
coreDns/kubeDns: Die interne Kubernetes-Komponente, die für DNS verantwortlich ist.
-
kube-api-server: Die wichtigste interne Kubernetes-Komponente, die dafür verantwortlich ist, APIs für die anderen Masterkomponenten bereitzustellen.