Aktivieren eines privaten Links für die Kubernetes-Überwachung in Azure Monitor

Azure Private Link ermöglicht Ihnen über private Endpunkte den Zugriff auf Azure Platform-as-a-Service (PaaS)-Ressourcen in Ihrem virtuellen Netzwerk. Ein Azure Monitor Private Link-Bereich (AMPLS) verbindet einen privaten Endpunkt mit einem Satz von Azure Monitor-Ressourcen, um die Grenzen Ihres Überwachungsnetzwerks zu definieren. In diesem Artikel wird beschrieben, wie Sie Containereinblicke und verwaltete Prometheus so konfigurieren, dass sie einen privaten Link für die Datenaufnahme aus Ihrem Azure Kubernetes Service (AKS)-Cluster verwenden.

Hinweis

Voraussetzungen

  • In diesem Artikel wird beschrieben, wie Sie Ihren Cluster mit einem vorhandenen Azure Monitor Private Link Scope (AMPLS) verbinden. Erstellen Sie eine AMPLS, die den Anweisungen unter Konfigurieren Ihres privaten Links folgt.
  • Mindestens Version 2.61.0 der Azure CLI

Managed Prometheus (Azure Monitor-Arbeitsbereich)

Daten für verwaltete Prometheus werden in einem Azure Monitor-Arbeitsbereich gespeichert, sodass Sie diesen Arbeitsbereich über einen privaten Link zugänglich machen müssen.

Konfigurieren von DCEs

Private Verbindungen für die Datenerfassung für Managed Prometheus werden in den Datensammlungsendpunkten (Data Collection Endpoints, DCE) des Azure Monitor Arbeitsbereichs konfiguriert, in dem die Daten gespeichert werden. Um die DCEs zu identifizieren, die Ihrem Azure Monitor-Arbeitsbereich zugeordnet sind, wählen Sie Datensammlungsendpunkte aus Ihrem Azure Monitor-Arbeitsbereich im Azure-Portal aus.

Screenshot: Seite „Datensammlungsendpunkte“ für einen Azure Monitor-Arbeitsbereich.

Wenn sich Ihr AKS-Cluster nicht in derselben Region wie Ihr Azure Monitor-Arbeitsbereich befindet, müssen Sie einen weiteren DCE erstellen in derselben Region wie der AKS-Cluster. Öffnen Sie in diesem Fall die Datensammlungsregel (Data Collection Rule, DCR), die erstellt wurde, wenn Sie managed Prometheus aktiviert haben. Dieser DCR heißt MSProm-<clusterName>-<clusterRegion>. Der Cluster wird auf der Seite Ressourcen aufgeführt. Wählen Sie in der Dropdownliste mit Datensammlungsendpunkten einen DCE aus, der sich in derselben Region befindet wie der AKS-Cluster.

Ein Screenshot der Seite „Datensammlungsregeln“ für einen Azure Monitor-Arbeitsbereich.

Erfassung aus einem privaten AKS-Cluster

Standardmäßig kann ein privater AKS-Cluster Daten mithilfe eines öffentlichen Datensammlungsendpunkts an verwaltetes Prometheus und Ihren Azure Monitor-Arbeitsbereich über das öffentliche Netzwerk senden.

Wenn Sie eine Azure Firewall verwenden, um den ausgehenden Datenverkehr aus Ihrem Cluster einzuschränken, können Sie Folgendes implementieren:

  • Öffnen Sie einen Pfad zum öffentlichen Erfassungsendpunkt. Aktualisieren Sie die Routingtabelle mit den folgenden beiden Endpunkten:
    • *.handler.control.monitor.azure.com
    • *.ingest.monitor.azure.com
  • Aktivieren Sie die Azure Firewall für den Zugriff auf den Azure Monitor-Private Link-Bereich und den DCE, der für die Datenerfassung verwendet wird.

Die folgenden Schritte zeigen, wie Sie Remoteschreibvorgänge für einen Kubernetes-Cluster über ein VNET mit privater Verbindung und einen Azure Monitor-Private Link-Bereich einrichten.

  1. Erstellen Sie ein virtuelles Netzwerk in Azure.
  2. Konfigurieren Sie den lokalen Cluster für die Verbindung mit einem Azure-VNET über ein VPN-Gateway oder ExpressRoutes mit privatem Peering.
  3. Erstellen Sie einen Azure Monitor-Private Link-Bereich.
  4. Verbinden Sie den Azure Monitor-Private Link-Bereich mit einem privaten Endpunkt im virtuellen Netzwerk, das vom lokalen Cluster verwendet wird. Dieser private Endpunkt wird für den Zugriff auf Ihre DCEs verwendet.
  5. Wählen Sie in Ihrem Azure Monitor-Arbeitsbereich im Portal die Option Datensammlungsendpunkte aus dem Azure Monitor-Arbeitsbereichsmenü aus.
  6. Sie verfügen über mindestens einen DCE, der denselben Namen wie Ihr Arbeitsbereich hat. Klicken Sie auf das DCE, um die Details zu öffnen.
  7. Wählen Sie die Seite Netzwerkisolation für den DCE aus.
  8. Klicken Sie auf Hinzufügen, und wählen Sie den Azure Monitor Private Link-Bereich aus. Es dauert einige Minuten, bis die Einstellungen übernommen werden. Nach Abschluss des Vorgangs werden Daten aus Ihrem privaten AKS-Cluster über die private Verbindung in Ihrem Azure Monitor-Arbeitsbereich erfasst.

Container Insights (Log Analytics-Arbeitsbereich)

Daten für Containereinblicke werden in einem Log Analytics-Arbeitsbereich gespeichert, daher müssen Sie diesen Arbeitsbereich über einen privaten Link zugänglich machen.

Hinweis

In diesem Abschnitt wird beschrieben, wie Sie private Links für Containereinblicke mit CLI aktivieren. Ausführliche Informationen zur Verwendung einer ARM-Vorlage finden Sie unter Containereinblicke aktivieren und beachten Sie die Parameter useAzureMonitorPrivateLinkScope und azureMonitorPrivateLinkScopeResourceId.

Cluster mit Authentifizierung der verwalteten Identität

Vorhandener AKS-Cluster mit standardmäßigem Log Analytics-Arbeitsbereich

az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --ampls-resource-id "<azure-monitor-private-link-scope-resource-id>"

Beispiel:

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

Vorhandener AKS-Cluster mit vorhandenem Log Analytics-Arbeitsbereich

az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --ampls-resource-id "<azure-monitor-private-link-scope-resource-id>"

Beispiel:

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/ my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

Neuer AKS-Cluster

az aks create --resource-group rgName --name clusterName --enable-addons monitoring --workspace-resource-id "workspaceResourceId" --ampls-resource-id "azure-monitor-private-link-scope-resource-id"

Beispiel:

az aks create --resource-group "my-resource-group"  --name "my-cluster"  --enable-addons monitoring --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/ my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

Cluster mit Legacyauthentifizierung

Verwenden Sie das folgende Verfahren, um die Netzwerkisolation zu aktivieren, indem Sie Ihr Cluster mithilfe von Azure Private Link verbinden, falls Ihr Cluster verwaltete Identitätsauthentifizierung nicht verwendet. Hierzu ist ein privater AKS-Cluster erforderlich.

  1. Erstellen Sie einen privaten AKS-Cluster, wie unter Erstellen eines privaten Azure Kubernetes Service-Clusters beschrieben.

  2. Deaktivieren Sie die öffentliche Erfassung in Ihrem Log Analytics-Arbeitsbereich.

    Verwenden Sie den folgenden Befehl, um die öffentliche Erfassung für einen vorhandenen Arbeitsbereich zu deaktivieren:

    az monitor log-analytics workspace update --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName>  --ingestion-access Disabled
    

    Verwenden Sie den folgenden Befehl, um einen neuen Arbeitsbereich mit deaktivierter öffentlicher Erfassung zu erstellen:

    az monitor log-analytics workspace create --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName>  --ingestion-access Disabled
    
  3. Konfigurieren Sie eine private Verbindung, wie unter Konfigurieren einer privaten Verbindung beschrieben. Legen Sie den Erfassungszugriff auf „Öffentlich“ fest, und ändern Sie die Einstellung in „Privat“, nachdem der private Endpunkt erstellt wurde, aber bevor die Überwachung aktiviert wird. Die Region der Private Link-Ressource muss der AKS-Clusterregion entsprechen.

  4. Aktivieren Sie die Überwachung für den AKS-Cluster.

    az aks enable-addons -a monitoring --resource-group <AKSClusterResourceGorup> --name <AKSClusterName> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false
    

Nächste Schritte

  • Wenn beim Onboarding der Lösung Probleme auftreten, lesen Sie den Leitfaden zur Problembehandlung.
  • Wenn die Überwachung aktiviert ist, um Integrität und Ressourcennutzung Ihres AKS-Clusters und der darauf ausgeführten Workloads zu erfassen, informieren Sie sich über die Verwendung von Container Insights.