Azure Monitor Container Insights für Azure Arc-fähige Kubernetes-Cluster
Azure Monitor Container Insights bietet umfassende Überwachungsfunktionen für Azure Arc-fähige Kubernetes-Cluster.
Unterstützte Konfigurationen
- Azure Monitor Container Insights unterstützt die Überwachung von Azure Arc-fähigen Kubernetes-Clustern wie im Übersichtsartikel beschrieben, mit Ausnahme des Features für Livedaten. Außerdem müssen Benutzer zum Aktivieren von Metriken nicht über Berechtigungen vom Typ Besitzer verfügen.
Docker,Mobyund CRI-kompatible Containerruntimes wieCRI-Oundcontainerd- Proxys für ausgehenden Datenverkehr ohne Authentifizierung und mit Standardauthentifizierung werden unterstützt. Proxys für ausgehenden Datenverkehr, von denen Zertifikate erwartet werden, werden aktuell nicht unterstützt.
Hinweis
Wenn Sie von Container Insights unter Azure Red Hat OpenShift v4.x migrieren, stellen Sie außerdem sicher, dass Sie die Überwachung deaktiviert haben, bevor Sie mit der Konfiguration von Container Insights in Kubernetes mit Azure Arc-Unterstützung fortfahren, um Installationsprobleme zu vermeiden.
Voraussetzungen
Die in der Dokumentation der generischen Cluster-Erweiterungen aufgeführten Voraussetzungen.
Log Analytics-Arbeitsbereich. Von Azure Monitor Container Insights wird ein Log Analytics-Arbeitsbereich in den auf der Seite Verfügbare Produkte nach Region aufgeführten Regionen unterstützt. Sie können Ihren eigenen Arbeitsbereich über Azure Resource Manager, mithilfe von PowerShell oder über das Azure-Portal erstellen.
Mitwirkender-Rollenzuweisung für das Azure-Abonnement, das die Kubernetes-Ressource mit Azure Arc-Unterstützung enthält. Befindet sich der Log Analytics-Arbeitsbereich in einem anderen Abonnement, wird für den Log Analytics-Arbeitsbereich die Rolle Log Analytics-Mitwirkender benötigt.
Zum Anzeigen der Überwachungsdaten müssen Sie im Log Analytics-Arbeitsbereich über die Rollenzuweisung Log Analytics-Leser verfügen.
Für ausgehenden Zugriff müssen neben den unter Erfüllen von Netzwerkanforderungen angegebenen Endpunkten die folgenden Endpunkte aktiviert werden:
Endpunkt Port *.ods.opinsights.azure.com443 *.oms.opinsights.azure.com443 dc.services.visualstudio.com443 *.monitoring.azure.com443 login.microsoftonline.com443 Wenn sich Ihre Azure Arc-fähige Kubernetes-Ressource in einer Umgebung vom Typ „Azure US-Regierung“ befindet, müssen die folgenden Endpunkte für ausgehenden Zugriff aktiviert werden:
Endpunkt Port *.ods.opinsights.azure.us443 *.oms.opinsights.azure.us443 dc.services.visualstudio.com443 Wenn Sie einen Arc-fähigen Cluster auf AKS verwenden und die zuvor installierte Überwachung für AKS installiert haben, stellen Sie sicher, dass Sie die Überwachung deaktiviert haben, bevor Sie fortfahren, um Probleme bei der Installation der Erweiterung zu vermeiden
Wenn Sie Azure Monitor Container Insights bereits per Skript ohne Clustererweiterungen in diesem Cluster bereitgestellt haben, gehen Sie wie hier beschrieben vor, um dieses Helm-Chart zu löschen. Anschließend können Sie mit dem Erstellen einer Clustererweiterungsinstanz für Azure Monitor Container Insights fortfahren.
Identifizieren der Arbeitsbereichsressourcen-ID
Führen Sie die folgenden Befehle aus, um den vollständigen Azure Resource Manager-Bezeichner des Log Analytics-Arbeitsbereichs zu ermitteln.
Listen Sie mit dem folgenden Befehl alle Abonnements auf, auf die Sie Zugriff haben:
az account list --all -o tableWechseln Sie mit dem folgenden Befehl zu dem Abonnement, das den Log Analytics-Arbeitsbereich hostet:
az account set -s <subscriptionId of the workspace>Im folgenden Beispiel wird die Liste mit den Arbeitsbereichen Ihrer Abonnements im JSON-Standardformat angezeigt.
az resource list --resource-type Microsoft.OperationalInsights/workspaces -o jsonSuchen Sie in der Ausgabe den relevanten Arbeitsbereichsnamen. Das zugehörige Feld
idstellt den Azure Resource Manager-Bezeichner dieses Log Analytics-Arbeitsbereichs dar.Tipp
Diese ID (
id) finden Sie auch im Azure-Portal auf dem Blatt Übersicht des Log Analytics-Arbeitsbereichs.
Erstellen einer Erweiterungsinstanz mithilfe der Azure CLI
Option 1: Mit Standardwerten
Bei dieser Option werden die folgenden Standardwerte verwendet:
- Erstellt oder verwendet einen standardmäßigen Log Analytics-Arbeitsbereich, der der Region des Clusters entspricht.
- Automatisches Upgrade ist für die Azure Monitor-Clustererweiterung aktiviert.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
Option 2: Mit vorhandenem Azure Log Analytics-Arbeitsbereich
Sie können einen vorhandenen Azure Log Analytics-Arbeitsbereich in einem beliebigen Abonnement verwenden, für das Sie mindestens über die Rollenzuweisung Mitwirkender verfügen.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<armResourceIdOfExistingWorkspace>
Option 3: Mit erweiterter Konfiguration
Wenn Sie die standardmäßigen Ressourcenanforderungen und -einschränkungen anpassen möchten, können Sie die erweiterten Konfigurationseinstellungen verwenden:
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings omsagent.resources.daemonset.limits.cpu=150m omsagent.resources.daemonset.limits.memory=600Mi omsagent.resources.deployment.limits.cpu=1 omsagent.resources.deployment.limits.memory=750Mi
Informationen zu den verfügbaren Konfigurationseinstellungen finden Sie im Abschnitt zu Ressourcenanforderungen und -einschränkungen des Helm-Charts.
Option 4: In Azure Stack Edge
Wenn sich der Azure Arc-fähige Kubernetes-Cluster in Azure Stack Edge befindet, muss ein benutzerdefinierter Bereitstellungspfad (/home/data/docker) verwendet werden.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings omsagent.logsettings.custommountpath=/home/data/docker
Hinweis
Wenn Sie im Erstellungsbefehl explizit die zu installierende Version der Erweiterung angeben, muss eine Version >= 2.8.2 verwendet werden.
Erstellen einer Erweiterungsinstanz über das Azure-Portal
Wichtig
Wenn Sie Azure Monitor in einem Kubernetes-Cluster bereitstellen, der auf Azure Stack Edge basiert, muss anstelle des Azure-Portals die Azure CLI verwendet werden, da für Cluster dieser Art ein benutzerdefinierter Bereitstellungspfad festgelegt werden muss.
Durchführen des Onboardings über das Blatt der Azure Arc-fähigen Kubernetes-Ressource
Wählen Sie im Azure-Portal den Azure Arc-fähigen Kubernetes-Cluster aus, den Sie überwachen möchten.
Wählen Sie auf dem Blatt der Ressource im Abschnitt „Überwachung“ das Element „Insights“ aus.
Wählen Sie auf der Onboardingseite die Schaltfläche „Azure Monitor konfigurieren“ aus.
Nun können Sie den Log Analytics-Arbeitsbereich auswählen, an den Ihre Metriken und Protokolle gesendet werden sollen.
Wählen Sie die Schaltfläche „Konfigurieren“ aus, um die Clustererweiterung „Azure Monitor Container Insights“ bereitzustellen.
Durchführen des Onboardings über das Blatt „Azure Monitor“
Navigieren Sie im Azure-Portal zum Blatt „Monitor“, und wählen Sie im Menü „Insights“ die Option „Container“ aus.
Wählen Sie die Registerkarte „Nicht überwachte Cluster“ aus, um die Azure Arc-fähigen Kubernetes-Cluster anzuzeigen, für die Sie die Überwachung aktivieren können.
Klicken Sie neben dem Cluster, für den Sie die Überwachung aktivieren möchten, auf den Link „Aktivieren“.
Wählen Sie den Log Analytics-Arbeitsbereich und anschließend die Schaltfläche „Konfigurieren“ aus, um den Vorgang fortzusetzen.
Erstellen der Erweiterungsinstanz per Azure Resource Manager
Laden Sie die Azure Resource Manager-Vorlage und die zugehörigen Parameter herunter:
curl -L https://aka.ms/arc-k8s-azmon-extension-arm-template -o arc-k8s-azmon-extension-arm-template.json curl -L https://aka.ms/arc-k8s-azmon-extension-arm-template-params -o arc-k8s-azmon-extension-arm-template-params.jsonAktualisieren Sie die Parameterwerte in der Datei „arc-k8s-azmon-extension-arm-template-params.json“. Für die öffentliche Azure-Cloud muss
opinsights.azure.comals Wert für „workspaceDomain“ verwendet werden. Für „AzureUSGovernment“ mussopinsights.azure.usals Wert für „workspaceDomain“ verwendet werden.Stellen Sie die Vorlage zum Erstellen der Erweiterung „Azure Monitor Container Insights“ bereit.
az login az account set --subscription "Subscription Name" az deployment group create --resource-group <resource-group> --template-file ./arc-k8s-azmon-extension-arm-template.json --parameters @./arc-k8s-azmon-extension-arm-template-params.json
Überprüfen des Installationsstatus der Erweiterung
Nachdem Sie die Azure Monitor-Erweiterung für Ihren Azure Arc-fähigen Kubernetes-Cluster erfolgreich erstellt haben, können Sie zusätzlich den Installationsstatus über das Azure-Portal oder mit der Befehlszeilenschnittstelle überprüfen. Bei erfolgreichen Installationen sollte der Status „Installiert“ angezeigt werden. Wenn der Status „Fehler“ angezeigt wird oder die Installation für längere Zeit im Status „Ausstehend“ verbleibt, fahren Sie mit dem Abschnitt „Problembehandlung“ weiter unten fort.
Azure-Portal
- Wählen Sie im Azure-Portal den Azure Arc-fähigen Kubernetes-Cluster aus, auf dem die Erweiterung installiert wird.
- Wählen Sie auf dem Blatt der Ressource im Abschnitt „Einstellungen“ das Element „Erweiterungen“ aus.
- Es sollte eine Erweiterung mit dem Namen „azuremonitor-containers“ angezeigt werden, deren Status in der Spalte „Installationsstatus“ angegeben ist.
Azure-Befehlszeilenschnittstelle
Führen Sie den folgenden Befehl aus, um den aktuellen Status der Erweiterung Microsoft.AzureMonitor.Containers anzuzeigen.
az k8s-extension show --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters -n azuremonitor-containers
Löschen der Erweiterungsinstanz
Mit dem folgenden Befehl wird nur die Erweiterungsinstanz gelöscht, nicht aber der Log Analytics-Arbeitsbereich. Die Daten in der Log Analytics-Ressource bleiben intakt.
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
Cluster ohne Verbindung
Wenn Ihr Cluster länger als 48 Stunden nicht mit Azure verbunden ist, verfügt Azure Resource Graph über keine Informationen zu Ihrem Cluster. Dadurch werden auf dem Blatt „Insights“ unter Umständen falsche Informationen zum Zustand Ihres Clusters angezeigt.
Problembehandlung
Bei Schwierigkeiten mit dem Aktivieren der Überwachung steht ein Skript zur Problembehandlung bereit, das bei der Diagnose von Problemen hilft.
Nächste Schritte
Wenn die Überwachung aktiviert ist, um Integrität und Ressourcenverwendung Ihres Azure Arc-fähigen Kubernetes-Clusters und der darauf ausgeführten Workloads zu erfassen, informieren Sie sich über die Verwendung von Container Insights.
Standardmäßig sammelt der Container-Agent die Containerprotokolle stdout und stderr aller Container, die in allen Namespaces mit Ausnahme von kube-system ausgeführt werden. Wenn Sie die Containerprotokollsammlung bestimmter Namespaces konfigurieren möchten, finden Sie weitere Informationen unter Agent-Konfiguration für Container Insights. In diesem Artikel wird beschrieben, wie Sie die gewünschten Einstellungen für die Datensammlung für Ihre ConfigMap-Konfigurationsdatei konfigurieren.
Weitere Informationen zum Auslesen und Analysieren von Prometheus-Metriken aus Ihrem Cluster finden Sie unter Konfigurieren des Abrufs von Prometheus-Metriken.