Bewährte Methoden für die Überwachung von Kubernetes mit Azure Monitor

Dieser Artikel enthält bewährte Methoden für das Überwachen der Integrität und Leistung Ihrer Cluster mit AKS (Azure Kubernetes Service) und Kubernetes mit Azure Arc-Unterstützung. Die Anleitung basiert auf den fünf Säulen der Architekturexzellenz, die unter Azure Well-Architected Framework beschrieben werden.

Zuverlässigkeit

In der Cloud muss leider mit Fehlern gerechnet werden. Es geht nicht darum, Fehler vollständig zu verhindern, sondern darum, die Auswirkungen einer einzelnen fehlerhaften Komponente zu minimieren. Die folgenden Informationen helfen Ihnen, Azure Monitor optimal zu nutzen, um die Zuverlässigkeit Ihrer Kubernetes-Cluster und Ihrer Überwachungsumgebung sicherzustellen.

Prüfliste für den Entwurf

  • Aktivieren Sie das Scraping von Prometheus-Metriken für Ihren Cluster.
  • Aktivieren Sie Container Insights für die Erfassung von Protokollen und Leistungsdaten von Ihrem Cluster.
  • Erstellen Sie Diagnoseeinstellungen zum Sammeln von Protokollen auf Steuerungsebene für AKS-Cluster.
  • Aktivieren Sie empfohlene Prometheus-Warnungen.
  • Stellen Sie sicher, dass der Log Analytics-Arbeitsbereich für Container Insights verfügbar ist.

Konfigurationsempfehlungen

Empfehlung Vorteil
Aktivieren Sie das Scraping von Prometheus-Metriken für Ihren Cluster. Aktivieren Sie Prometheus in Ihrem Cluster mit dem verwalteten Azure Monitor-Dienst für Prometheus, wenn Sie noch keine Prometheus-Umgebung haben. Verwenden Sie Azure Managed Grafana, um die gesammelten Prometheus-Daten zu analysieren. Weitere Informationen zum Sammeln zusätzlicher Metriken über die Standardkonfiguration hinaus finden Sie unter Anpassen des Scrapings von Prometheus-Metriken im verwalteten Azure Monitor-Dienst für Prometheus.
Aktivieren Sie Container Insights für die Erfassung von Protokollen und Leistungsdaten von Ihrem Cluster. Container Insights sammelt stdout/stderr-Protokolle, Leistungsmetriken und Kubernetes-Ereignisse von jedem Knoten in Ihrem Cluster. Es stellt Dashboards und Berichte zur Analyse dieser Daten bereit, einschließlich der Verfügbarkeit Ihrer Knoten und anderer Komponenten. Verwenden Sie Log Analytics, um Verfügbarkeitsfehler in Ihren gesammelten Protokollen zu identifizieren.
Erstellen Sie Diagnoseeinstellungen zum Sammeln von Protokollen auf Steuerungsebene für AKS-Cluster. AKS implementiert Protokolle auf Steuerungsebene als Ressourcenprotokolle in Azure Monitor. Erstellen Sie eine Diagnoseeinstellung, um diese Protokolle an Ihren Log Analytics-Arbeitsbereich zu senden, damit Sie Protokollabfragen verwenden können, um Fehler und Probleme zu identifizieren, die sich auf die Verfügbarkeit auswirken.
Aktivieren Sie empfohlene Prometheus-Warnungen. Über Warnungen in Azure Monitor können Sie sich proaktiv benachrichtigen lassen, wenn Probleme erkannt werden. Beginnen Sie mit einigen der empfohlenen Prometheus-Warnungsregeln, die die häufigsten Verfügbarkeits- und Leistungsprobleme in Ihrem Cluster erkennen. Sie können auch Protokollsuchwarnungen auf der Grundlage der von Container Insights gesammelten Daten hinzufügen.
Stellen Sie sicher, dass der Log Analytics-Arbeitsbereich für Container Insights verfügbar ist. Container Insights erfordert einen Log Analytics-Arbeitsbereich. In den bewährten Methoden für Azure Monitor-Protokolle finden Sie Empfehlungen, um die Zuverlässigkeit des Arbeitsbereichs sicherzustellen.

Sicherheit

Sicherheit ist einer der wichtigsten Aspekte jeder Architektur. Azure Monitor bietet Funktionen, mit denen sowohl das Prinzip der geringsten Rechte als auch die tiefgreifende Abwehr eingesetzt werden können. Verwenden Sie die folgenden Informationen, um Ihre Kubernetes-Cluster zu überwachen und sicherzustellen, dass nur autorisierte Benutzer*innen auf die gesammelten Daten zugreifen können.

Prüfliste für den Entwurf

  • Verwenden Sie die Authentifizierung mit verwalteten Identitäten für Ihren Cluster, um eine Verbindung mit Container Insights herzustellen.
  • Erwägen Sie die Verwendung von Azure Private Link für Ihren Cluster, um mithilfe eines privaten Endpunkts eine Verbindung mit Ihrem Azure Monitor-Arbeitsbereich herzustellen.
  • Verwenden Sie Datenverkehrsanalysen, um den Netzwerkdatenverkehr zu und von Ihrem Cluster zu überwachen.
  • Aktivieren Sie Netzwerkeinblicke.
  • Stellen Sie sicher, dass der Log Analytics-Arbeitsbereich Container Insights unterstützt.

Konfigurationsempfehlungen

Empfehlung Vorteil
Verwenden Sie die Authentifizierung mit verwalteten Identitäten für Ihren Cluster, um eine Verbindung mit Container Insights herzustellen. Die Authentifizierung mit verwalteten Identitäten ist die Standardeinstellung für neue Cluster. Wenn Sie die Legacyauthentifizierung verwenden, sollten Sie zu verwalteten Identitäten migrieren und die zertifikatbasierte lokale Authentifizierung deaktivieren.
Erwägen Sie die Verwendung von Azure Private Link für Ihren Cluster, um mithilfe eines privaten Endpunkts eine Verbindung mit Ihrem Azure Monitor-Arbeitsbereich herzustellen. Der verwaltete Azure-Dienst für Prometheus speichert seine Daten in einem Azure Monitor-Arbeitsbereich, der standardmäßig einen öffentlichen Endpunkt verwendet. Verbindungen mit öffentlichen Endpunkten sind mit End-to-End-Verschlüsselung gesichert. Wenn Sie einen privaten Endpunkt benötigen, können Sie Azure Private Link verwenden, um Ihrem Cluster das Herstellen einer Verbindung mit dem Arbeitsbereich über autorisierte private Netzwerke zu ermöglichen. Private Link kann auch verwendet werden, um die Arbeitsbereichsdatenerfassung über ExpressRoute oder ein VPN zu erzwingen.

Details zum Konfigurieren Ihres Clusters für Private Link finden Sie unter Private Link für die Datenerfassung für Managed Prometheus und Azure Monitor-Arbeitsbereiche. Einzelheiten zum Abfragen Ihrer Daten mithilfe von Private Link finden Sie unter Verwenden privater Endpunkte für Managed Prometheus und Azure Monitor-Arbeitsbereiche.
Verwenden Sie Datenverkehrsanalysen, um den Netzwerkdatenverkehr zu und von Ihrem Cluster zu überwachen. Mit Traffic Analytics analysiert Azure Network Watcher die NSG-Datenflussprotokolle, um Erkenntnisse zum Datenfluss in Ihrer Azure-Cloud bereitzustellen. Verwenden Sie dieses Tool, um sicherzustellen, dass in Ihrem Cluster keine Datenexfiltration auftritt, und um zu erkennen, falls öffentliche IP-Adressen unnötigerweise verfügbar gemacht werden.
Aktivieren Sie Netzwerkeinblicke. Das AKS-Add-On für Netzwerkeinblicke bietet Einblicke in die verschiedenen Ebenen im Kubernetes-Netzwerkstapel, um den Zugriff zwischen den Diensten im Cluster (Ost-West-Datenverkehr) zu überwachen und zu beobachten.
Stellen Sie sicher, dass der Log Analytics-Arbeitsbereich Container Insights unterstützt. Container Insights erfordert einen Log Analytics-Arbeitsbereich. In den bewährten Methoden für Azure Monitor-Protokolle finden Sie Empfehlungen, um die Sicherheit des Arbeitsbereichs sicherzustellen.

Kostenoptimierung

Kostenoptimierung bezieht sich auf Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Sie können Ihre Kosten für Azure Monitor erheblich reduzieren, indem Sie Ihre verschiedenen Konfigurationsoptionen und Möglichkeiten kennen, um so die Menge der gesammelten Daten zu reduzieren. Lesen Sie Azure Monitor-Kosten und -Verbrauch, um die verschiedenen Arten der Abrechnung von Azure Monitor zu verstehen und um zu erfahren, wie Sie Ihre monatliche Rechnung anzeigen können.

Hinweis

Empfehlungen zur Kostenoptimierung für alle Features von Azure Monitor finden Sie unter Optimieren von Kosten in Azure Monitor .

Prüfliste für den Entwurf

  • Aktivieren Sie nicht die Container Insights-Sammlung von Prometheus-Metriken.
  • Konfigurieren Sie die Agent-Sammlung, um die Datensammlung in Container Insights zu ändern.
  • Ändern Sie die Einstellungen für die Sammlung von Metrikdaten durch Container Insights.
  • Deaktivieren Sie die Container Insights-Sammlung von Metrikdaten, wenn Sie Container Insights im Azure-Portal nicht verwenden.
  • Wenn Sie die Tabelle mit den Containerprotokollen nicht regelmäßig abfragen oder für Warnungen verwenden, konfigurieren Sie sie als Basisprotokolle.
  • Schränken Sie die Sammlung von Ressourcenprotokollen ein, die Sie nicht benötigen.
  • Verwenden Sie die ressourcenspezifische Protokollierung für AKS-Ressourcenprotokolle, und konfigurieren Sie Tabellen als Basisprotokolle.
  • Verwenden Sie OpenCost, um Details zu Ihren Kubernetes-Kosten zu sammeln.

Konfigurationsempfehlungen

Empfehlung Vorteil
Aktivieren Sie nicht die Container Insights-Sammlung von Prometheus-Metriken im Log Analytics-Arbeitsbereich, wenn Sie das Scraping von Metriken mit Prometheus aktiviert haben. Zusätzlich zum Scraping von Prometheus-Metriken von Ihrem Cluster mithilfe des verwalteten Azure Monitor-Diensts für Prometheus können Sie auch Container Insights konfigurieren, um Prometheus-Metriken in Ihrem Log Analytics-Arbeitsbereich zu sammeln. Diese Daten sind redundant mit denen in Managed Prometheus und verursachen zusätzliche Kosten.
Konfigurieren Sie den Agent, um die Datensammlung in Container Insights zu ändern. Analysieren Sie die von Container Insights gesammelten Daten, wie unter Steuern der Datenerfassung zur Senkung der Kosten beschrieben, um Kosten zu senken. Passen Sie zudem Ihre Konfiguration an, um die Sammlung nicht benötigter Daten zu beenden.
Ändern Sie die Einstellungen für die Sammlung von Metrikdaten durch Container Insights. Unter Aktivieren der Einstellungen für die Kostenoptimierung finden Sie Einzelheiten zum Ändern der Häufigkeit, mit der Metrikdaten gesammelt werden, und der Namespaces, die von Container Insights gesammelt werden.
Deaktivieren Sie die Container Insights-Sammlung von Metrikdaten, wenn Sie Container Insights im Azure-Portal nicht verwenden. Container Insights sammelt viele derselben Metrikwerte wie Managed Prometheus. Sie können die Sammlung dieser Metriken deaktivieren, indem Sie Container Insights so konfigurieren, dass nur Protokolle und Ereignisse erfasst werden, wie unter Aktivieren von Kostenoptimierungseinstellungen in Container Insights beschrieben. Diese Konfiguration deaktiviert die Container Insights-Benutzeroberfläche im Azure-Portal. Sie können jedoch Grafana verwenden, um Prometheus-Metriken zu visualisieren, und Log Analytics, um von Container Insights gesammelte Protokolldaten zu analysieren.
Wenn Sie die Tabelle mit den Containerprotokollen nicht regelmäßig abfragen oder für Warnungen verwenden, konfigurieren Sie sie als Basisprotokolle. Konvertieren Sie Ihr Container Insights-Schema in ContainerLogV2, das mit Basisprotokollen kompatibel ist und erhebliche Kosteneinsparungen bieten kann, wie unter Steuern der Datenerfassung zur Senkung der Kosten beschrieben.
Schränken Sie die Sammlung von Ressourcenprotokollen ein, die Sie nicht benötigen. Protokolle der Steuerungsebene für AKS-Cluster sind in Azure Monitor als Ressourcenprotokolle implementiert. Erstellen Sie eine Diagnoseeinstellung, um diese Daten an einen Log Analytics-Arbeitsbereich zu senden. Unter sammeln von Protokollen auf Steuerungsebene für AKS-Cluster finden Sie Empfehlungen für die Kategorien, die Sie sammeln sollten.
Verwenden Sie die ressourcenspezifische Protokollierung für AKS-Ressourcenprotokolle, und konfigurieren Sie Tabellen als Basisprotokolle. AKS unterstützt entweder den Azure-Diagnosemodus oder den ressourcenspezifischen Modus für Ressourcenprotokolle. Geben Sie Ressourcenprotokolle an, um die Option zum Konfigurieren der Tabellen für Basisprotokolle zu aktivieren. Damit können Sie die Kosten für die Erfassung von Protokollen reduzieren, die Sie nur gelegentlich abfragen und nicht für Warnungen verwenden.
Verwenden Sie OpenCost, um Details zu Ihren Kubernetes-Kosten zu sammeln. OpenCost ist ein herstellerunabhängiges Open-Source-CNCF-Sandboxprojekt, mit dem Sie Ihre Kubernetes-Kosten analysieren und Ihre AKS-Kosten sichtbar machen können. Es exportiert neben den kundenspezifischen Azure-Preisen für Azure Storage auch detaillierte Kostendaten, um Clusteradministrator*innen bei der Analyse und Kategorisierung der Kosten zu unterstützen.

Optimaler Betrieb

Betriebliche Exzellenz bezieht sich auf Betriebsprozesse, die erforderlich sind, um einen Dienst zuverlässig in der Produktion zu betreiben. Verwenden Sie die folgenden Informationen, um die Betriebsanforderungen für die Überwachung Ihrer Kubernetes-Cluster zu minimieren.

Prüfliste für den Entwurf

  • Lesen Sie die Leitfäden zum Überwachen sämtlicher Ebenen Ihrer Kubernetes-Umgebung.
  • Verwenden Sie Kubernetes mit Azure Arc-Unterstützung, um Ihre Cluster außerhalb von Azure zu überwachen.
  • Verwenden Sie verwaltete Azure-Dienste für cloudnative Tools.
  • Integrieren Sie AKS-Cluster in Ihre vorhandenen Überwachungstools.
  • Verwenden Sie Azure Policy, um die Datensammlung aus Ihrem Kubernetes-Cluster zu aktivieren.

Konfigurationsempfehlungen

Empfehlung Vorteil
Lesen Sie die Leitfäden zum Überwachen sämtlicher Ebenen Ihrer Kubernetes-Umgebung. Unter Überwachen der Leistung von Kubernetes-Clustern mit Container Insights finden Sie Leitfäden und bewährte Methoden für die Überwachung Ihrer gesamten Kubernetes-Umgebung auf Netzwerk-, Cluster- und Anwendungsebene.
Verwenden Sie Kubernetes mit Azure Arc-Unterstützung, um Ihre Cluster außerhalb von Azure zu überwachen. Kubernetes mit Azure Arc-Unterstützung ermöglicht Ihnen, Ihre Kubernetes-Cluster, die in anderen Clouds ausgeführt werden, mithilfe derselben Tools wie Ihre AKS-Cluster zu überwachen, einschließlich Container Insights und des verwalteten Azure-Diensts für Prometheus.
Verwenden Sie verwaltete Azure-Dienste für cloudnative Tools. Der verwaltete Azure Monitor-Dienst für Prometheus und Azure Managed Grafana unterstützen alle Features der cloudnativen Tools Prometheus und Grafana, ohne dass Sie ihre zugrunde liegende Infrastruktur betreiben zu müssen. Sie können diese Tools schnell bereitstellen und Ihre Kubernetes-Cluster mit minimalem Aufwand integrieren. Mit diesen Diensten können Sie auf eine umfangreiche Bibliothek von Communityregeln und Dashboards zugreifen, um Ihre Kubernetes-Umgebung zu überwachen.
Integrieren Sie AKS-Cluster in Ihre vorhandenen Überwachungstools. Wenn Sie bereits Investitionen in Prometheus und Grafana getätigt haben, integrieren Sie Ihre AKS-Cluster und verwalteten Azure-Dienste mithilfe des Leitfadens in Überwachen von Kubernetes-Clustern mithilfe von Azure-Diensten und cloudnativen Tools in Ihre vorhandene Umgebung.
Verwenden Sie Azure Policy, um die Datensammlung aus Ihrem Kubernetes-Cluster zu aktivieren. Verwenden Sie Azure Policy, um die Datensammlung und damit Prometheus-Metriken, Container Insights und Diagnoseeinstellungen zu aktivieren. Dadurch wird sichergestellt, dass alle neuen Cluster automatisch überwacht werden und ihre Überwachungskonfiguration erzwungen wird.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Verwenden Sie die folgenden Informationen, um die Leistung Ihrer Kubernetes-Cluster zu überwachen und sicherzustellen, dass sie für maximale Leistung konfiguriert sind.

Prüfliste für den Entwurf

  • Aktivieren Sie die Sammlung von Prometheus-Metriken zu Ihrem Cluster.
  • Aktivieren Sie Container Insights, um die Leistung Ihres Clusters nachzuverfolgen.
  • Aktivieren Sie empfohlene Prometheus-Warnungen.

Konfigurationsempfehlungen

Empfehlung Vorteil
Aktivieren Sie die Sammlung von Prometheus-Metriken zu Ihrem Cluster. Prometheus ist eine cloudnative Metriklösung der Cloud Native Compute Foundation und stellt das am häufigsten verwendete Tool zum Sammeln und Analysieren von Metrikdaten aus Kubernetes-Clustern dar. Aktivieren Sie Prometheus in Ihrem Cluster mit dem verwalteten Azure Monitor-Dienst für Prometheus, wenn Sie noch keine Prometheus-Umgebung haben. Verwenden Sie Azure Managed Grafana, um die gesammelten Prometheus-Daten zu analysieren.

Weitere Informationen zum Sammeln zusätzlicher Metriken über die Standardkonfiguration hinaus finden Sie unter Anpassen des Scrapings von Prometheus-Metriken im verwalteten Azure Monitor-Dienst für Prometheus.
Aktivieren Sie Container Insights, um die Leistung Ihres Clusters nachzuverfolgen. Wenn Sie Container Insights für Ihren Kubernetes-Cluster aktivieren, können Sie Ansichten und Arbeitsmappen verwenden, um die Leistung der Komponenten Ihres Clusters nachzuverfolgen. Diese Daten können sich mit den von Prometheus gesammelten Daten überschneiden. Empfehlungen für die Kosten finden Sie unter Kostenoptimierung.
Aktivieren Sie empfohlene Prometheus-Warnungen. Über Warnungen in Azure Monitor können Sie sich proaktiv benachrichtigen lassen, wenn Probleme erkannt werden. Beginnen Sie mit einigen der empfohlenen Prometheus-Warnungsregeln, die die häufigsten Verfügbarkeits- und Leistungsprobleme in Ihrem Cluster erkennen. Sie können auch Protokollsuchwarnungen auf der Grundlage der von Container Insights gesammelten Daten hinzufügen.

Nächster Schritt