Kubernetes-Lösung

Mit der Kubernetes-Überwachungslösung in Oracle Logging Analytics können Sie Einblicke in Ihr in OCI bereitgestelltes Kubernetes, Public Clouds von Drittanbietern, Private Clouds oder On Premise, einschließlich verwalteter Kubernetes-Bereitstellungen, überwachen und generieren.

Die Telemetriedaten wie Metriken, der Kubernetes-Status in Form von Objektinformationen und die verschiedenen Logs in der Kubernetes-Umgebung werden für die Analyse erfasst.

Hinweis

Die Logging Analytics-Lösung für Kubernetes unterstützt offizielle Kubernetes-Versionen größer als 1,22 und die entsprechenden Cloud-Varianten wie OKE und EKS.

Die Berechtigungen, die zum Ausführen aller Vorgänge in der Kubernetes-Lösung erforderlich sind, finden Sie unter Alle Kubernetes-Lösungsvorgänge zulassen.

Die folgenden Logtypen werden aus der Kubernetes-Umgebung erfasst:

Typ Komponente: Logquellenzuordnung Metadatenanreicherung

Kubernetes-Komponente/Systemprotokolle

Kube-Proxy: Kubernetes-Proxylogs

Kube Flannel: Kubernetes-Flannel-Logs

Kube DNS Autoscaler: Kubernetes DNS Autoscaler-Logs

Core-DNS: Kubernetes-Core-DNS-Logs

CSI-Knotentreiber: Kubernetes-CSI-Knotentreiberlogs

Proxymux: OKE Proxymux-Clientlogs

Autoscaler: Kubernetes Autoscaler-Logs

Kubelet: Kubernetes-Kubelet-Logs

Kubernetes-Clustername

Kubernetes-Cluster-ID

Node

Namespace

Pod

Container

Name des Containerimages

BS-Logs

Syslog-Logs: Linux-Syslog-Logs

Cron-Logs: Linux-Cron-Logs

Sichere Logs: Linux Secure Logs

Maillogs: Linux Mail Delivery Logs

Auditlog: Linux-Auditlogs

Ksplice-/Uptrack-Logs: Ksplice-Logs

YUM-Logs: Linux YUM-Logs

Kubernetes-Clustername

Kubernetes-Cluster-ID

Node

Kubernetes-Pod-/Containerlogs

Generische Kubernetes-Containerlogs

Kubernetes-Clustername

Kubernetes-Cluster-ID

Node

Namespace

Pod

Container

Name des Containerimages

Die folgenden Objektinformationen werden aus der Kubernetes-Umgebung erfasst:

Objekt Logquelle Metadatenanreicherung
Node Kubernetes-Knotenobjektlogs

Kubernetes-Clustername

Kubernetes-Cluster-ID

Pod Kubernetes-Podobjektlogs

Kubernetes-Clustername

Kubernetes-Cluster-ID

Bereitstellung (Workload) Kubernetes-Deployment-Objektlogs

Kubernetes-Clustername

Kubernetes-Cluster-ID

DaemonSet (Workload) Kubernetes-Objektlogs DaemonSet

Kubernetes-Clustername

Kubernetes-Cluster-ID

StatefulSet (Workload) Kubernetes-Objektlogs StatefulSet

Kubernetes-Clustername

Kubernetes-Cluster-ID

Job (Workload) Kubernetes-Jobobjektlogs

Kubernetes-Clustername

Kubernetes-Cluster-ID

CronJob (Workload) Kubernetes-Objektlogs CronJob

Kubernetes-Clustername

Kubernetes-Cluster-ID

Verbinden Sie Ihr Kubernetes-Cluster mit Logging Analytics

Stellen Sie sicher, dass Sie die erforderlichen Informationen zu Ihrem Kubernetes-Cluster in Ihrem Mandanten erfasst haben und über die erforderlichen Berechtigungen für die Verbindung mit Ihrem Cluster verfügen. Oracle empfiehlt, dass ein Benutzer mit Administratorberechtigungen diesen Vorgang ausführt. Nach einer erfolgreichen Verbindung werden die Logs, Metriken und Objektinformationen aus zugehörigen Kubernetes-Komponenten und Compute Nodes aus diesem Cluster erfasst.

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Logging Analytics auf Lösungen, und klicken Sie auf Kubernetes. Die Seite Kubernetes-Überwachungslösung wird geöffnet.

  2. Klicken Sie auf der Seite "Kubernetes-Monitoringlösung" auf Cluster verbinden. Der Assistent Daten hinzufügen wird geöffnet. Hier ist der Abschnitt "Kubernetes überwachen" bereits erweitert. Klicken Sie auf Oracle OKE. Die Seite OKE-Umgebungsüberwachung konfigurieren wird geöffnet.

  3. Wählen Sie das OKE-Cluster aus, das Sie mit Oracle Logging Analytics verbinden möchten, indem Sie auf die entsprechende Zeile in der Clustertabelle klicken. Verwenden Sie die Details in der Tabelle, um das richtige OKE-Cluster zu identifizieren. Klicken Sie auf Weiter.

  4. Wählen Sie im Menü das Compartment aus, in dem die Telemetriedaten und zugehörigen Monitoringressourcen gespeichert werden sollen.

  5. Optional werden die erforderlichen Policys und dynamischen Gruppen erstellt. Sie können das Kontrollkästchen deaktivieren, wenn Sie es bereits erstellt haben. Die erforderlichen Policys finden Sie unter Alle Kubernetes-Lösungsvorgänge zulassen.

  6. Optional wird der Metrikserver für die Sammlung von Nutzungsmetriken installiert. Sie können das Kontrollkästchen deaktivieren, wenn Sie es bereits installiert haben.

  7. Wählen Sie die Deployment-Option für Lösung aus:

    • Die oben genannten Cluster automatisch aktivieren: Wählen Sie diese Option aus, damit Oracle Logging Analytics automatisch alle erforderlichen Ressourcen erstellt.
      Hinweis

      Diese Deployment-Option wird für OKE-Cluster nicht empfohlen, die keinen öffentlichen API-Serverendpunkt haben. Verwenden Sie in solchen Fällen die Deployment-Option Ich stelle die oben genannten Cluster manuell bereit. Weitere Informationen finden Sie auf der Seite "OCI Kubernetes Monitoring GitHub".

      Die automatische Logerfassungskonfiguration erstellt oder aktualisiert die folgenden Ressourcen:

      • IAM-Policy und dynamische Gruppen
      • Oracle Logging Analytics-Loggruppen und -Entitys
      • Management Agent-Schlüssel
      • Metrik-Namespace
      • Management Agent-Konfiguration
      • Fluentd-Konfiguration
      • Kubernetes-Manifeste und Helm-Chart
    • Ich stelle die oben genannten Cluster manuell bereit: Wählen Sie diese Option für Oracle Logging Analytics aus, um alle Oracle Cloud Infrastructure-Ressourcen zu erstellen und Ihnen die Möglichkeit zu geben, das Deployment von Fluentd und anderer Konfiguration über Helm-/Kubernetes-Manifeste in Ihrem Cluster zu verwalten. Die Installationsanweisungen werden jedoch am Ende des Connect-Workflows bereitgestellt. Mit dieser Option können Sie die Standardkonfiguration und andere Collection-Parameter für das automatische Deployment anpassen.
  8. Klicken Sie auf Logerfassung konfigurieren, um die angegebene Konfiguration zu bestätigen.

    Die Oracle Cloud Infrastructure-Ressourcen werden jetzt erstellt.

  9. Wenn Sie die Option für die manuelle Bereitstellung für die Lösung auswählen, befolgen Sie die Installationsanweisungen am Ende des Connect-Workflows für die Bereitstellung von Helm-Diagrammen.

Damit ist die Konfiguration abgeschlossen, um die Daten aus Ihrem Kubernetes-Cluster zu erfassen. Gehen Sie zur Seite mit der Kubernetes-Monitoringlösung, und warten Sie einige Minuten, bis die Datenerfassung abgeschlossen ist. Wenn die Datenerfassung ausgeführt wird, lautet die neueste Telemetrie des Clusters Unknown. Sie können die Lösung anzeigen, nachdem sich dieser Status geändert hat.

Kubernetes-Cluster überwachen

Die in Ihrem Kubernetes-Cluster erfassten Telemetriedaten werden in mehreren Ansichten dargestellt, um Einblicke in die Umgebung und ihre Performance zu erhalten.

So zeigen Sie die Lösung für Ihr Kubernetes-Cluster an:

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Logging Analytics auf Lösungen, und klicken Sie auf Kubernetes. Die Seite Kubernetes-Überwachungslösung wird geöffnet. Die Cluster, die bereits mit Oracle Logging Analytics verbunden sind, werden auf der Registerkarte Überwachte Cluster aufgeführt.

  2. Klicken Sie unter Überwachte Cluster auf den Namen des Clusters, das Sie überwachen und analysieren möchten. Die Lösung für das ausgewählte Cluster wird mit der Standardansicht Cluster geöffnet.

Sehen Sie sich jetzt die Lösung und die verschiedenen verfügbaren Ansichten an, um die Ebenen der Topologie zu durchlaufen, und rufen Sie Details auf jeder Ebene in der Clusteransicht, der Workloadansicht, der Knotenansicht und der Podansicht ab. Beachten Sie, dass der Filterkontext zwischen den verschiedenen Ansichten beibehalten wird.

Clusteransicht

Eine Beispielansicht eines Kubernetes-Lösungsclusters:


Clusteransicht

In der Clusteransicht werden die folgenden Abschnitte angezeigt:

  • Zeitselektor (2 im Bild): Es gibt zwei Zeitbereichsoptionen: Last 60 Minutes (Standard) und Last 24 Hours. Alle Änderungen, die Sie im Zeitraum vornehmen, wirken sich auf die Ereignisse und Widgets im rechten Fensterbereich aus.

  • Filter (1 in Bild):

    • Namespaces-Filter: So filtern Sie die Ansicht nach Kubernetes-Namespace.
  • Topologie (3 im Image): Die in der Kubernetes-Umgebung erfassten Objektdaten werden in diesem Abschnitt angezeigt. Klicken Sie mit der rechten Maustaste auf einen Namespace, um ihn dem Filter hinzuzufügen. Anschließend ändert sich die Topologieansicht, um die Objekte im Namespace wiederzugeben, die Workloads und Knoten umfassen. Die Topologie basiert auf der aktuellen Zeit und wird von den Zeitbereichseinstellungen nicht beeinflusst.

    Die Farbe jedes Objekts in der Topologie gibt den Status an, der von aktiven Warnereignissen abgeleitet wird, die dem Objekt oder seinen untergeordneten Objekten zugeordnet sind. Beispiel: Wenn ein Pod ein oder mehrere Warnereignisse aufweist, ändert sich der Podfarbcode in RED, und die entsprechende Workload (die Eigentümer des Pods ist) und der Namespace wird ebenfalls mit demselben Status wiedergegeben.

  • Pods nach Namespace (5 im Image): Die in der Topologie verfügbaren Pods. Details zur Farbe jedes Pods finden Sie im obigen Absatz.
  • Übersicht über linken Fensterbereich (4 in Bild): Die Übersicht über den linken Fensterbereich basiert auf der aktuellen Zeit und ist von den Zeitbereichseinstellungen nicht betroffen.
  • Ereignisse (7 im Image): In diesem Abschnitt werden die Statusänderungen angezeigt, die im Kubernetes-Cluster in Form von Ereignissen auftreten. Sie können die Ereignisse weiter nach Nur Warnungen oder Alle filtern.

    Sie können den Abschnitt "Ereignisse" einblenden, um die Tabelle in der Mitte der Seite anzuzeigen.

  • Widgets im rechten Fensterbereich (6 im Bild): Mit diesen Widgets können Sie den Zustand des Systems überwachen. The type of widgets available upon using the rotating scroll bar are CPU core (used/allocatable) in %, CPU core used, Memory (used/allocatable) in %, Memory used, Kubernetes system, OS health, Total API server requests, API server request duration, API response size, API request execution duration, etcd request duration, Network: bytes rx, Network: byts tx, Network Packet Rx Rate, Network: Packet Tx Rate, Network: Packet Rx Dropped Rate, and Network: Packet Tx Dropped Rate.

Sie können jeden Abschnitt erweitern, um eine größere Visualisierung anzuzeigen, und mit der Maus darüber fahren, um weitere Details anzuzeigen.

Workload-Ansicht

Eine Beispiel-Workload-Ansicht für Kubernetes-Lösungen:


Kubernetes Workload-Ansicht

Die Abschnitte Zeitselektor, Ereignisse, Übersicht des linken Bereichs und Widgets des rechten Bereichs sind mit denen in der Clusteransicht identisch. Der Namespace-Filterkontext wird in der Clusteransicht beibehalten, und in dieser Ansicht ist auch ein zusätzlicher Filter für Workloads verfügbar. Der Abschnitt Pods nach Workload bietet die Ansicht der Pods, die nach der Workload gruppiert sind, zu der sie gehören. Außerdem enthält die Ansicht die Workload-Details. In diesem Abschnitt können Sie jeden Workload-Typ erweitern, um detaillierte Informationen zu Namespace, Workload-Name, Status und Alter anzuzeigen.

Knotenansicht

Eine Beispiel-Kubernetes-Lösungsknotenansicht:


Kubernetes-Lösungsknotenansicht

Die Abschnitte Zeitselektor, Ereignisse, Übersicht des linken Bereichs und Widgets des rechten Bereichs sind mit denen in der Clusteransicht identisch. Der Kontext "Namespace-Filter" und "Workloads-Filter" werden in der Workloads-Ansicht beibehalten, und in dieser Ansicht ist auch ein zusätzlicher Filter für Knoten verfügbar. Der Abschnitt Pods nach Knoten bietet die Ansicht der Pods, die nach dem Knoten gruppiert sind, zu dem sie gehören. Darüber hinaus enthält die Ansicht den Knotenstatus. In diesem Abschnitt können Sie jeden Knoten erweitern, um detaillierte Informationen wie Status, Probleme, Alter, BS, Containerlaufzeit, Kubelet-/Kubeproxyversionen, CPU, Speicher (Kapazität) und Speicher (zuweisbar) anzuzeigen. Sie können auch nur den Status der Knoten anzeigen, die Probleme haben oder nicht bereit sind.

Podansicht

Eine Beispiel-Pod-Ansicht für Kubernetes-Lösungen:


Podansicht für Kubernetes-Lösungen

Die Abschnitte Zeitselektor, Ereignisse, Übersicht des linken Bereichs und Widgets des rechten Bereichs sind mit denen in der Clusteransicht identisch. Der Kontext "Namespace-Filter", "Workloads-Filter" und "Knotenfilter" wird in der Knotenansicht beibehalten. Im Abschnitt Pods werden die Pods und ihr Status basierend auf der Filterauswahl angezeigt. Darüber hinaus enthält die Ansicht den Pods-Status. In diesem Abschnitt können Sie jeden Pod erweitern, um detaillierte Informationen wie Status, Knoten, Namespace, Pod-IP, Controller, Controller und Scheduler anzuzeigen. Sie können die Details der Pods auch selektiv basierend auf ihrem aktuellen Status wie "Ausgeführt", "Nicht erfolgreich", "Erfolgreich" und "Ausstehend" anzeigen.

Alle Kubernetes-Lösungsvorgänge zulassen

Erstellen Sie eine dynamische Gruppe, um das Sammeln von Logs, Metriken und Objektinformationen zuzulassen:

ALL {instance.compartment.id = '<OKE_COMPARTMENT_OCID>'}
ALL {resource.type='managementagent', resource.compartment.id='<TELEMETRY_COMPARTMENT_OCID>'}

Erstellen Sie Policys, damit die dynamische Gruppe die Datenerfassungsvorgänge ausführen kann:

allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment id <TELEMETRY_COMPARTMENT_OCID>
allow dynamic-group <dynamic_group_name> to use METRICS in compartment id <TELEMETRY_COMPARTMENT_OCID> WHERE target.metrics.namespace = 'mgmtagent_kubernetes_metrics'
allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_DISCOVERY_UPLOAD} in tenancy

Informationen zu dynamischen Gruppen und IAM-Policys finden Sie unter OCI-Dokumentation: Dynamische Gruppen verwalten und OCI-Dokumentation: Policys verwalten.