Worker-Knoten und Add-on-Zustand beobachten

Erfahren Sie, wie Sie den Zustand und die Ressourcennutzung von Worker-Knoten und Kubernetes-Core-Add-ons mit Kubernetes Engine (OKE) beobachten.

Mit Kubernetes Engine können Sie den Zustand und die Ressourcennutzung von Worker-Knoten und wichtigen Kubernetes-Add-ons beobachten, wie CoreDNS und KubeProxy. Sie können Zustand und Ressourcennutzung in jedem Cluster beobachten, das verwaltete Add-ons unterstützt. Durch die Erfassung von Betriebs- und Ressourcenmetriken können Sie potenzielle Probleme und Anomalien proaktiv erkennen und beheben, bevor Workloads betroffen sind.

Damit Sie Zustand und Ressourcennutzung beobachten können, stellt Kubernetes Engine die folgenden beiden verwalteten Add-ons auf jedem Worker-Knoten bereit:

  • ObservabilityAgent: Das Add-on ObservabilityAgent erfasst Infrastrukturmetriken aus Quellen wie Kubelet, cAdvisor, CoreDNS und KubeProxy.
  • NodeProblemDetector: Das Add-on NodeProblemDetector identifiziert und zeigt Probleme wie Ressourcensättigung und Netzwerkprobleme auf Worker-Knotebene an. Die verwaltete NodeProblemDetector-Konfiguration soll Konflikte mit vorhandenen Deployments dieses Tools oder ähnlichen Tools vermeiden.

Die Beobachtbarkeits-Add-ons sind vorkonfiguriert, um minimale Ressourcen zu verwenden, und erfordern keine umfangreiche benutzerdefinierte Konfiguration. Ihnen wird eine niedrige Planungspriorität zugewiesen, um sicherzustellen, dass System- und Benutzer-Workloads der Hauptfokus der Worker-Knotenressourcen bleiben. Ressourcen für die beiden Observability-Add-ons werden dem kube-system-Namespace hinzugefügt.

Bei der Beobachtung von Zustand und Ressourcennutzung erfasst Kubernetes Engine die folgenden Metriken:

  • CPU-, Speicher- und Netzwerkauslastung von Containern und Pods (aus Kubelet und cAdvisor).
  • CoreDNS DNS-Anforderungen, Fehlerraten und Antwortzeiten.
  • Netzwerkstatistiken des KubeProxy-Service.
  • Zustandsinformationen, Ereignisse und Bedingungen des Worker-Knotens (aus dem Add-on NodeProblemDetector).

Gesammelte Daten werden mithilfe von branchenüblichen Endpunkten und Tools aggregiert und zugänglich gemacht, z. B. solchen, die mit Prometheus kompatibel sind.

Beachten Sie, dass nur Metrikdaten für Infrastruktur- und Plattformkomponenten erfasst werden. Genauer gesagt, beachten Sie, dass keine identifizierbaren Workload- oder Anwendungsdaten erfasst werden.

Funktionalität zur Beobachtung aktivieren und deaktivieren

Erfahren Sie, wie Sie die Funktion zur Gesundheitsbeobachtung mit Kubernetes Engine (OKE) aktivieren und deaktivieren.

Sie können die Funktion zur Zustandsbeobachtung mit der Konsole, der CLI und der API aktivieren und deaktivieren.

    1. Wählen Sie auf der Listenseite Cluster den Namen des Clusters aus, für das Sie die Funktion zur Zustandsbeobachtung aktivieren möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder des Clusters benötigen, finden Sie weitere Informationen unter Cluster auflisten.
    2. Wählen Sie auf der Registerkarte Add-ons die Option Add-ons verwalten aus.
    3. Wählen Sie die Option Bearbeiten neben ObservabilityAgent oder NodeProblemDetector.
    4. Wählen Sie die Option <Add-on-Name> aktivieren aus, um das Cluster-Add-on bereitzustellen und zu aktivieren, wenn es zuvor noch nicht in diesem Cluster aktiviert wurde, oder um das Cluster-Add-on zu aktivieren, wenn es zuvor bereitgestellt wurde, aber derzeit deaktiviert ist.
    5. Konfigurieren Sie das Cluster-Add-on, indem Sie die folgenden Details angeben:
      • Automatische Updates: Wählen Sie diese Option aus, wenn Oracle das Add-on automatisch aktualisieren soll, wenn eine neue Version verfügbar ist.
      • Version auswählen: Wählen Sie diese Option aus, wenn Sie die Version des Add-ons kontrollieren möchten, das Oracle im Cluster bereitstellt. Eine Warnung gibt an, dass Sie die Verantwortung für die Aktualisierung des Add-ons übernommen haben. Wenn Sie diese Option auswählen, wählen Sie in der Liste Version die Version des Add-ons aus, das im Cluster bereitgestellt werden soll. Siehe Cluster-Add-on - Unterstützte Versionen.
      • Option: und Wert: (Optional) Wählen Sie Konfiguration hinzufügen aus, um mindestens ein Schlüssel/Wert-Paar anzugeben, das als Argumente an das Cluster-Add-on übergeben werden soll. Siehe Konfigurationsargumente für Cluster-Add-ons.
    6. Wählen Sie Änderungen speichern aus.

    Um das Add-on ObservabilityAgent oder NodeProblemDetector zu deaktivieren, wählen Sie die Option Bearbeiten neben dem Add-on, deaktivieren Sie die Option <Add-on-Name> aktivieren, und wählen Sie Änderungen speichern aus.

  • Verwenden Sie den Befehl oci ce cluster install-addon und die erforderlichen Parameter, um das Add-on ObservabilityAgent oder NodeProblemDetector bereitzustellen:

    oci ce cluster install-addon --cluster-id <cluster-ocid> --addon-name ObservabilityAgent --region <region> [OPTIONS]
    oci ce cluster install-addon --cluster-id <cluster-ocid> --addon-name NodeProblemDetector --region <region> [OPTIONS]

    Verwenden Sie den Befehl oci ce cluster disable-addon und die erforderlichen Parameter, um das in einem Cluster bereitgestellte Add-on ObservabilityAgent oder NodeProblemDetector zu deaktivieren (und optional zu entfernen):

    oci ce cluster disable-addon --cluster-id <cluster-ocid> --addon-name ObservabilityAgent --is-remove-existing-add-on <true|false> [OPTIONS]
    oci ce cluster disable-addon --cluster-id <cluster-ocid> --addon-name NodeProblemDetector --is-remove-existing-add-on <true|false> [OPTIONS]

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in der CLI-Befehlsreferenz.

  • Führen Sie den Vorgang InstallAddon oder den Vorgang DisableAddon aus, um das in einem Cluster bereitgestellte Add-on ObservabilityAgent oder NodeProblemDetector zu installieren oder zu deaktivieren (und optional zu entfernen).

Beschriftungen zum Aktivieren und Deaktivieren der Funktion zur Gesundheitsbeobachtung auf bestimmten Worker-Knoten oder auf allen Worker-Knoten verwenden

Erfahren Sie, wie Sie mit Kubernetes Engine (OKE) die Funktion zur Gesundheitsbeobachtung auf Worker-Knoten aktivieren und deaktivieren.

Um Metriken aus einem bestimmten Worker-Knoten zu erfassen, wenden Sie Labels wie folgt auf den Worker-Knoten an:

kubectl label node --overwrite oci.oraclecloud.com/oke-observability-agent-enabled=true <node-name>
kubectl label node --overwrite oci.oraclecloud.com/oke-node-problem-detector-enabled=true <node-name>

Um Metriken aus allen Worker-Knoten zu erfassen, wenden Sie Labels wie folgt an:

kubectl label node --overwrite --all oci.oraclecloud.com/oke-observability-agent-enabled=true
kubectl label node --overwrite --all oci.oraclecloud.com/oke-node-problem-detector-enabled=true

Um die Funktionalität zur Gesundheitsbeobachtung auf einem bestimmten Worker-Knoten zu deaktivieren, wenden Sie Labels wie folgt auf den Worker-Knoten an:

kubectl label node --overwrite oci.oraclecloud.com/oke-observability-agent-enabled=false <node-name>
kubectl label node --overwrite oci.oraclecloud.com/oke-node-problem-detector-enabled=false <node-name>

Zustand von Worker-Knoten und Add-ons beobachten

Erfahren Sie, wie Sie den Zustand von Worker-Knoten und Add-ons beobachten, nachdem Sie die Add-ons ObservabilityAgent und NodeProblemDetector installiert und aktiviert haben.

Verwenden Sie nach der Installation und Aktivierung der Add-ons ObservabilityAgent und NodeProblemDetector Standard-Kubernetes und Überwachungstools, um den Zustand von Worker-Knoten und Add-ons zu überwachen.

Beispiel: Um die für Worker-Knoten und -Add-ons erfassten Metriken abzufragen und zu visualisieren, verwenden Sie Überwachungslösungen, die mit Prometheus oder OpenMetrics kompatibel sind. Diese Metriken umfassen die Nutzung von Container- und Podressourcen, CoreDNS- und KubeProxy-Statistiken und Zustandsereignisse für Worker-Knoten.

Metriken direkt von einem Worker-Knoten abrufen (mTLS-Endpunkt)

Das Add-on ObservabilityAgent zeigt einen Metrikendpunkt auf jedem Worker-Knoten an und sichert ihn mit gegenseitigem TLS (mTLS). Auf den Metrikendpunkt kann nur ein Client zugreifen, der ein gültiges Clientzertifikat bereitstellt, das von einer vertrauenswürdigen Certificate Authority (CA) ausgestellt wurde. Eine CA ist ein vertrauenswürdiger Aussteller, der Zertifikate signiert, sodass andere Komponenten die Identität prüfen und verschlüsselte Verbindungen herstellen können. Das Clientzertifikat muss von der CA des Clusters signiert werden. Die erforderlichen Zertifikate sind nach dem Provisioning auf dem Worker-Knoten verfügbar.

Um Metriken von einem Worker-Knoten abzurufen, stellen Sie eine Verbindung zum Knoten her (z.B. mit SSH), und führen Sie einen Befehl wie den folgenden aus:

sudo curl -v --cert /var/lib/kubelet/pki/kubelet-client-current.pem --key /var/lib/kubelet/pki/kubelet-client-current.pem --cacert /etc/kubernetes/ca.crt https://<node-private-ip>:9995/metrics 

Hierbei gilt:

  • --cert /var/lib/kubelet/pki/kubelet-client-current.pem gibt das Kubelet-Clientzertifikat an, dem die Cluster-CA vertraut.
  • --key /var/lib/kubelet/pki/kubelet-client-current.pem gibt den Private Key für das Clientzertifikat an (in dieser Konfiguration wird er in derselben PEM-Datei gespeichert).
  • --cacert /etc/kubernetes/ca.crt gibt das Root-CA-Zertifikat des Clusters an, mit dem das vom Metrikendpunkt präsentierte Serverzertifikat geprüft wird.
  • <node-private-ip> ist die private IP-Adresse des Worker-Knotens (z.B. 10.0.10.121).
  • https://<node-private-ip>:9995/metrics ist der ObservabilityAgent-Metrikendpunkt auf dem Knoten.

Sie können dieselben Zertifikate und denselben Endpunkt verwenden, wenn Sie Ihre eigene Metrikpipeline konfigurieren (z.B. einen Prometheus-kompatiblen Scraper), um ObservabilityAgent-Metriken zu erfassen und zu visualisieren.

Prüfen des Status der Add-ons

Sie können den Zustand der Add-ons ObservabilityAgent und NodeProblemDetector selbst wie folgt beobachten:

  • Um den Status DaemonSet für die bereitgestellten Beobachtbarkeits-Add-ons zu prüfen, geben Sie Folgendes ein:

    kubectl get daemonset -n kube-system

    Stellen Sie sicher, dass oke-dataplane-observability-agent und oke-node-problem-detector DaemonSets ausgeführt werden und dass die gewünschte und bereitgestellte Podanzahl mit der Anzahl der beobachteten Worker-Knoten übereinstimmt.

  • Wenn unerwartete Ergebnisse oder Probleme mit den Beobachtbarkeits-Add-ons auftreten, prüfen Sie Podlogs für ObservabilityAgent und NodeProblemDetector im kube-system-Namespace, indem Sie Folgendes eingeben:

    kubectl logs -n kube-system <pod-name>

    Prüfen Sie außerdem, ob die Worker-Knoten über die erforderlichen Labels verfügen.

Weitere Informationen zum Verwalten von Cluster-Add-ons finden Sie unter Cluster-Add-on-Verwaltung.