Activer une liaison privée pour la surveillance Kubernetes dans Azure Monitor

Azure Private Link vous permet d’accéder aux ressources PaaS (Platform as a Service) Azure à votre réseau virtuel à l’aide de points de terminaison privés. Une étendue de liaison privée Azure Monitor (AMPLS) connecte un point de terminaison privé à un ensemble de ressources Azure Monitor pour définir les limites de votre réseau de surveillance. Cet article explique comment configurer Container Insights et Prometheus managé pour utiliser une liaison privée pour l’ingestion de données à partir de votre cluster Azure Kubernetes Service (AKS).

Remarque

Prérequis

  • Cet article explique comment connecter votre cluster à une étendue AMPLS (Private Link Scope) Azure Monitor existante. Créez un AMPLS en suivant les instructions de Configurer votre liaison privée.
  • Azure CLI version 2.61.0 ou ultérieure.

Prometheus managé (espace de travail Azure Monitor)

Les données de Prometheus managées sont stockées dans un espace de travail Azure Monitor. Vous devez donc rendre cet espace de travail accessible via une liaison privée.

Configurer des contrôleurs de domaine

Les liens privés pour l’ingestion de données pour Prometheus managé sont configurés sur les points de terminaison de collecte de données (DCE) de l’espace de travail Azure Monitor qui stocke les données. Pour identifier les contrôleurs de domaine associés à votre espace de travail Azure Monitor, sélectionnez points de terminaison de collecte de données à partir de votre espace de travail Azure Monitor dans le portail Azure.

Capture d'écran affichant la page des points de terminaison de la collecte de données pour un espace de travail Azure Monitor.

Si votre cluster AKS ne se trouve pas dans la même région que votre espace de travail Azure Monitor, vous devez créer une autre DCE dans la même région que le cluster AKS. Dans ce cas, ouvrez la règle de collecte de données (DCR) créée lorsque vous avez activé Managed Prometheus. Ce DCR sera nommé MSProm-<clusterName>-<clusterRegion>. Le cluster est répertorié dans la page Resources. Dans la liste déroulante point de terminaison de collecte de données, sélectionnez la DCE dans la même région que le cluster AKS.

Une capture d’écran illustre la page des règles de collecte de données pour un espace de travail Azure Monitor.

Ingestion à partir d’un cluster AKS privé

Par défaut, un cluster AKS privé peut envoyer des données à Prometheus managé et à votre espace de travail Azure Monitor sur le réseau public à l’aide d’un point de terminaison de collecte de données public.

Si vous choisissez d’utiliser un Pare-feu Azure pour limiter la sortie de votre cluster, vous pouvez implémenter l’un des éléments suivants :

  • Ouvrez un chemin d’accès au point de terminaison d’ingestion public. Mettez à jour la table de routage avec les deux points de terminaison suivants :
    • *.handler.control.monitor.azure.com
    • *.ingest.monitor.azure.com
  • Activez le Pare-feu Azure pour accéder à l’étendue Azure Monitor Private Link et à DCE utilisées pour l’ingestion de données.

Procédez comme suit pour configurer l’écriture à distance pour un cluster Kubernetes sur un réseau virtuel de liaison privée et une étendue Azure Monitor Private Link.

  1. Créez un réseau virtuel Azure.
  2. Configurez le cluster local pour le connecter à un réseau virtuel Azure à l’aide d’une passerelle VPN ou d’ExpressRoutes avec un appairage privé.
  3. Créez une étendue de liaison privée Azure Monitor.
  4. Connectez l’étendue de liaison privée Azure Monitor à un point de terminaison privé dans le réseau virtuel utilisé par le cluster local. Ce point de terminaison privé est utilisé pour accéder à vos contrôleurs de domaine.
  5. Dans votre espace de travail Azure Monitor dans le portail, sélectionnez points de terminaison de collecte de données dans le menu de l’espace de travail Azure Monitor.
  6. Vous aurez au moins un DCE qui aura le même nom que votre espace de travail. Cliquez sur la DCE pour ouvrir ses détails.
  7. Sélectionnez la page isolation réseau pour la DCE.
  8. Cliquez sur Ajouter et sélectionnez votre étendue Azure Monitor Private Link. La diffusion des paramètres prend quelques minutes. Une fois terminé, les données de votre cluster AKS privé sont ingérées dans votre espace de travail Azure Monitor via la liaison privée.

Container Insights (espace de travail Log Analytique)

Les données pour Container Insights sont stockées dans un espace de travail Log Analytique. Vous devez donc rendre cet espace de travail accessible via une liaison privée.

Remarque

Cette section explique comment activer une liaison privée pour Container Insights à l’aide de l’interface CLI. Pour plus d’informations sur l’utilisation d’un modèle ARM, consultez Activer Container Insights et notez les paramètres useAzureMonitorPrivateLinkScope et azureMonitorPrivateLinkScopeResourceId.

Cluster à l’aide de l’authentification d’identité managée

Cluster AKS existant avec espace de travail Log Analytics par défaut

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>"

Exemple :

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"

Cluster AKS existant avec espace de travail Log Analytics existant

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>"

Exemple :

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"

Nouveau cluster AKS

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"

Exemple :

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 à l’aide de l’authentification héritée

Utilisez les procédures suivantes pour activer l’isolation réseau en connectant votre cluster à l’espace de travail Log Analytics à l’aide d’Azure Private Link si votre cluster n’utilise pas l’authentification d’identité managée. Cela nécessite un cluster AKS privé.

  1. Créez un cluster AKS privé en suivant les instructions fournies dans Créer un cluster Azure Kubernetes Service privé.

  2. Désactivez l’ingestion publique sur votre espace de travail Log Analytics.

    Utilisez la commande suivante pour désactiver l’ingestion publique sur un espace de travail existant.

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

    Utilisez la commande suivante pour créer un espace de travail avec l’ingestion publique désactivée.

    az monitor log-analytics workspace create --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName>  --ingestion-access Disabled
    
  3. Configurez une liaison privée en suivant les instructions fournies dans Configurer votre liaison privée. Définissez l’accès d’ingestion sur Public, puis sur Privé après la création du point de terminaison privé mais avant l’activation du monitoring. La région de la ressource de liaison privée doit être identique à la région du cluster AKS.

  4. Activez le monitoring du cluster AKS.

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

Étapes suivantes

  • Si vous rencontrez des problèmes quand vous tentez d’intégrer la solution, consultez le guide de résolution des problèmes.
  • Une fois la supervision activée pour collecter l’intégrité et l’utilisation des ressources de votre cluster AKS et des charges de travail s’exécutant sur celles-ci, découvrez comment utiliser Container Insights.