Partager via


Établir une connectivité réseau à un cluster Azure Kubernetes Service (AKS) privé

Dans les clusters AKS privés, le point de terminaison du serveur d’API n’a aucune adresse IP publique. Pour gérer le serveur d’API, vous devez utiliser une machine virtuelle ou un conteneur qui a accès au réseau virtuel (VNet) du cluster AKS. Vous pouvez établir une connectivité réseau au cluster privé de différentes manières :

Choisir une option de connectivité

Azure Cloud Shell et Azure Bastion (préversion) sont les options les plus simples. Express Route et VPN ajoutent des coûts et nécessitent une complexité réseau supplémentaire. L’appairage de réseaux virtuels implique la planification de vos plages CIDR réseau pour veiller à ce qu'aucune plage ne se chevauche.

Le tableau suivant présente les principales différences et limitations de l’utilisation d’Azure Cloud Shell et d’Azure Bastion :

Choix Azure Cloud Shell Azure Bastion (préversion)
Principales différences • Accès éphémère et basé sur un navigateur.
• Économique.
• Est fourni avec des outils préinstallés comme az cli et kubectl.
• Accès persistant et long.
• Adapté à la gestion de plusieurs clusters.
• Utilisez vos propres outils client natifs.
Limites • Non pris en charge avec les clusters automatiques AKS ni les clusters avec verrouillage du groupe de ressources réseau (NRG).
• Vous ne pouvez pas avoir plusieurs sessions Cloud Shell dans différents réseaux virtuels en même temps.
• Non pris en charge avec les clusters automatiques AKS ou les clusters avec verrouillage NRG.

Se connecter à l’aide d’Azure Cloud Shell

La connexion à un cluster AKS privé via Azure Cloud Shell nécessite les étapes suivantes :

  • Déployez les ressources requises : Vous devez déployer Cloud Shell dans un réseau virtuel qui peut atteindre votre cluster privé. Cette étape provisionne l’infrastructure nécessaire. Bien que Cloud Shell soit un service gratuit, l’utilisation de Cloud Shell dans un réseau virtuel nécessite certaines ressources qui entraînent des coûts. Pour plus d’informations, consultez Déployer Cloud Shell dans un réseau virtuel.
  • Configurez la connexion : Après avoir déployé les ressources, tout utilisateur de l’abonnement disposant des autorisations appropriées sur le cluster peut configurer Cloud Shell pour le déployer dans le réseau virtuel afin d’autoriser une connexion sécurisée au cluster privé.

Déployer les ressources requises

Pour déployer et configurer les ressources requises, vous devez disposer de l’attribution de rôle Propriétaire sur l’abonnement. Pour afficher et attribuer des rôles, consultez Lister les propriétaires d’un abonnement.

Vous pouvez déployer les ressources requises à l’aide du portail Azure ou du modèle ARM fourni si vous gérez l’infrastructure en tant que code ou que vous avez des stratégies organisationnelles qui nécessitent des conventions d’affectation de noms de ressources spécifiques.

Vous pouvez éventuellement laisser les ressources déployées en place pour les connexions futures ou les supprimer et les recréer si nécessaire.

Utiliser le portail Azure (préversion)

Cette option crée un réseau virtuel distinct avec les ressources nécessaires pour Cloud Shell et configure le peering de réseaux virtuels pour vous.

  1. Dans le portail Azure, accédez à votre ressource de cluster privé.
  2. Dans la page Vue d’ensemble, sélectionnez Se connecter.
  3. Sous l’onglet Cloud Shell , sous Conditions préalables pour la connexion de cluster privé, sélectionnez Configurer pour déployer les ressources nécessaires.
    • Le déploiement crée un groupe de ressources nommé RG-CloudShell-PrivateClusterConnection-{RANDOM_ID}.
  4. Une fois le déploiement réussi, sous Définir le contexte du cluster, sélectionnez Open Cloud Shell.

Capture d’écran du portail Azure sur la page de ressources d’un cluster privé montrant le bouton Se connecter avec l’onglet Cloud Shell sélectionné.

Note

Si vous avez déjà configuré Cloud Shell dans un réseau virtuel pour un cluster particulier, la répétition de ces étapes garantit que vos paramètres utilisateur Cloud Shell sont correctement alignés avec ce réseau virtuel.

Utiliser un modèle ARM

Pour contrôler davantage la configuration du déploiement, utilisez le modèle ARM fourni.

Vous pouvez déployer Cloud Shell dans le même réseau virtuel que votre cluster privé AKS avec un sous-réseau dédié, ou vous pouvez le déployer dans un nouveau réseau virtuel et vous connecter via le peering de réseaux virtuels.

Configurer la connexion au cluster privé

Après avoir déployé les ressources requises, n’importe quel utilisateur de l’abonnement peut configurer son cloud Shell pour le déployer dans le réseau virtuel donné en suivant les étapes de configuration de Cloud Shell pour utiliser un réseau virtuel.

Vérifiez que l’utilisateur dispose d’un accès au niveau Kubernetes approprié pour se connecter au cluster privé. Pour plus d’informations, consultez les options d’accès et d’identité pour Azure Kubernetes Service (AKS).

Se connecter à l’aide d’Azure Bastion (préversion)

Azure Bastion est un service PaaS entièrement managé que vous approvisionnez pour vous connecter en toute sécurité aux ressources privées via des adresses IP privées. Pour utiliser la fonctionnalité de tunneling client natif de Bastion, consultez Se connecter à un cluster privé AKS à l’aide d’Azure Bastion.

Se connecter à l’aide du peering de VNet (réseau virtuel)

Pour utiliser le peering de réseaux virtuels, vous devez configurer un lien entre le réseau virtuel et la zone DNS privée. Vous pouvez configurer le peering réseau virtuel à l’aide du portail Azure ou du CLI Azure.

Utilisation du portail Azure

  1. Dans le portail Azure, accédez à votre groupe de ressources de nœud et sélectionnez votre ressource de zone DNS privée.

  2. Dans le menu du service, sous Gestion DNS, sélectionnezLiens>de réseau virtuelAjouter.

  3. Dans la page Ajouter un lien de réseau virtuel , configurez les paramètres suivants :

    • Nom du lien : entrez un nom pour le lien de réseau virtuel.
    • Réseau virtuel : sélectionnez le réseau virtuel qui contient la machine virtuelle.
  4. Sélectionnez Créer pour créer le lien de réseau virtuel.

  5. Accédez au groupe de ressources qui contient le réseau virtuel de votre cluster AKS et sélectionnez votre ressource de réseau virtuel.

  6. Dans le menu du service, sous Paramètres, sélectionnez Peerings>Add.

  7. Dans la page Ajouter un peering, configurez les paramètres suivants :

    • Nom du lien de peering : entrez un nom pour le lien de peering.
    • Réseau virtuel : sélectionnez le réseau virtuel de la machine virtuelle.
  8. Sélectionnez Ajouter pour créer le lien de peering.

Pour en savoir plus, consultez Peering de réseaux virtuels.

Utilisation de l’interface de ligne de commande Microsoft Azure

  1. Créez un lien permettant d’ajouter le réseau virtuel de la machine virtuelle à la zone DNS privée en utilisant la commande az network private-dns link vnet create.

    az network private-dns link vnet create \
        --name <new-link-name> \
        --resource-group <node-resource-group-name> \
        --zone-name <private-dns-zone-name> \
        --virtual-network <vm-virtual-network-resource-id> \
        --registration-enabled false
    
  2. Créez un peering entre le réseau virtuel de la machine virtuelle et le réseau virtuel du groupe de ressources de nœud à l’aide de la commande az network vnet peering create.

    az network vnet peering create \
        --name <new-peering-name-1> \
        --resource-group <vm-virtual-network-resource-group-name> \
        --vnet-name <vm-virtual-network-name> \
        --remote-vnet <node-resource-group-virtual-network-resource-id> \
        --allow-vnet-access
    
  3. Créez un peering entre le réseau virtuel de la machine virtuelle et le réseau virtuel du groupe de ressources de nœud à l’aide de la commande az network vnet peering create.

    az network vnet peering create \
        --name <new-peering-name-2> \
        --resource-group <node-resource-group-name> \
        --vnet-name <node-resource-group-virtual-network-name> \
        --remote-vnet <vm-virtual-network-resource-id> \
        --allow-vnet-access
    
  4. Répertoriez les peerings de réseaux virtuels que vous avez créés à l’aide de la commande az network vnet peering list.

    az network vnet peering list \
        --resource-group <node-resource-group-name> \
        --vnet-name <private-dns-zone-name>
    

Utiliser une connexion de point de terminaison privé

Vous pouvez configurer un point de terminaison privé afin qu’un VNet n’ait pas besoin d’être en peering pour communiquer avec le cluster privé. Pour configurer une connexion de point de terminaison privé, vous créez d’abord un point de terminaison privé dans le réseau virtuel contenant les ressources consommatrices, puis créez un lien entre votre réseau virtuel et une nouvelle zone DNS privée dans le même réseau.

Important

Si le réseau virtuel est configuré avec des serveurs DNS personnalisés, vous devez configurer le DNS privé de manière appropriée pour l’environnement. Pour plus d’informations, consultez la documentation sur la résolution de noms de réseau virtuel.

Créer une ressource de point de terminaison privé

  1. Dans la page d’accueil du portail Azure, sélectionnez Créer une ressource.

  2. Recherchez un point de terminaison privé et sélectionnez Créer un>point de terminaison privé.

  3. Cliquez sur Créer.

  4. Sous l’onglet Informations de base, configurez les paramètres suivants :

    • Détails du projet

      • Abonnement : sélectionnez l’abonnement où se trouve votre cluster privé.
      • Groupe de ressources : sélectionnez le groupe de ressources qui contient votre réseau virtuel.
    • Détails de l’instance

      • Nom : entrez un nom pour votre point de terminaison privé, tel que myPrivateEndpoint.
      • Région : sélectionnez la même région que votre réseau virtuel.
  5. Sélectionnez Suivant : Ressource et configurez les paramètres suivants :

    • Méthode de connexion : sélectionnez Se connecter à une ressource Azure dans mon répertoire.
    • Abonnement : sélectionnez l’abonnement où se trouve votre cluster privé.
    • Type de ressource : Sélectionnez Microsoft.ContainerService/managedClusters.
    • Ressource : sélectionnez votre cluster privé.
    • Sous-ressource cible : sélectionnez la gestion.
  6. Sélectionnez Suivant : Réseau virtuel et configurez les paramètres suivants :

    • Mise en réseau
      • Réseau virtuel : sélectionnez votre réseau virtuel.
      • Sous-réseau : sélectionnez votre sous-réseau.
  7. Sélectionnez Suivant : DNS>Suivant : Balises et (éventuellement) configurer les valeurs de clé en fonction des besoins.

  8. Sélectionnez Suivant : Vérifier + créer>.

Une fois la ressource créée, enregistrez l’adresse IP privée du point de terminaison privé pour une utilisation ultérieure.

Créer une zone DNS privée

Une fois vous créez le point de terminaison privé, créez une zone DNS privée portant le même nom que la zone DNS privée créée par le cluster privé : N’oubliez pas de créer cette zone DNS dans le réseau virtuel contenant les ressources consommatrices.

  1. Dans le portail Azure, accédez à votre groupe de ressources de nœud et sélectionnez votre ressource de zone DNS privée.

  2. Dans le menu du service, sous Gestion DNS, sélectionnez Recordsets et notez les éléments suivants :

    • Le nom de la zone DNS privée, qui suit le modèle *.privatelink.<region>.azmk8s.io.
    • Le nom de l’enregistrement A (à l’exception du nom DNS privé).
    • La durée de vie (TTL).
  3. Dans la page d’accueil du portail Azure, sélectionnez Créer une ressource.

  4. Recherchez la zone DNS privée et sélectionnez Créer une>zone DNS privée.

  5. Sous l’onglet Informations de base, configurez les paramètres suivants :

    • Détails du projet

      • Sélectionnez votre abonnement.
      • Sélectionnez le groupe de ressources où vous avez créé le point de terminaison privé.
    • Détails de l’instance

      • Nom : entrez le nom de la zone DNS récupérée à partir des étapes précédentes.
      • Région : correspond par défaut à l’emplacement de votre groupe de ressources.
  6. Sélectionnez Vérifier + créer>Créer.

Créer un enregistrement A

Une fois la zone DNS privée créée, créez un A enregistrement, qui associe le point de terminaison privé au cluster privé.

  1. Accédez à votre ressource de zone DNS privée.

  2. Dans le menu du service, sous Gestion DNS, sélectionnez Recordsets>Add.

  3. Dans la page Ajouter un jeu d’enregistrements , configurez les paramètres suivants :

    • Nom : entrez le nom récupéré à partir de l’enregistrement A dans la zone DNS du cluster privé.
    • Type : sélectionnez A - Enregistrement d’adresse.
    • Durée de vie : entrez le numéro de l’enregistrement A dans la zone DNS du cluster privé.
    • Unité de durée de vie : modifiez la valeur de la liste déroulante pour qu’elle corresponde à celle de l’enregistrement A de la zone DNS du cluster privé.
    • Adresse IP : entrez l’adresse IP du point de terminaison privé que vous avez créé.
  4. Sélectionnez Ajouter pour créer l’enregistrement A .

Important

Lors de la création de l’enregistrement A, n’utilisez pas le nom de domaine complet (FQDN), mais uniquement le nom.

Une fois l’enregistrement A créé, liez la zone DNS privée au réseau virtuel qui accédera au cluster privé.

  1. Accédez à votre ressource de zone DNS privée.

  2. Dans le menu du service, sous Gestion DNS, sélectionnezLiens>de réseau virtuelAjouter.

  3. Dans la page Ajouter un lien de réseau virtuel , configurez les paramètres suivants :

    • Nom du lien : entrez un nom pour votre lien de réseau virtuel.
    • Abonnement : sélectionnez l’abonnement où se trouve votre cluster privé.
    • Réseau virtuel : sélectionnez le réseau virtuel de votre cluster privé.
  4. Sélectionnez Créer pour créer le lien.

    Attendez quelques minutes que l’opération se termine. Une fois la liaison de réseau virtuel créée, vous pouvez y accéder à partir de l’onglet Liens de réseau virtuel que vous avez utilisé à l’étape 2.

Avertissement

  • Si le cluster privé est arrêté et redémarré, le service de liaison privée d’origine du cluster privé est supprimé et recréé, ce qui interrompt la connexion entre votre point de terminaison privé et le cluster privé. Pour résoudre ce problème, supprimez et recréez tous les points de terminaison privés créés par l’utilisateur et liés au cluster privé. Si les points de terminaison privés recréés ont de nouvelles adresses IP, vous devez également mettre à jour les enregistrements DNS.
  • Si vous mettez à jour les enregistrements DNS dans la zone DNS privée, vérifiez que l’hôte à partir duquel vous essayez de vous connecter utilise les enregistrements DNS mis à jour. Vous pouvez le vérifier à l’aide de la commande nslookup. Si vous remarquez que les mises à jour ne sont pas reflétées dans la sortie, vous devrez peut-être vider le cache DNS sur votre ordinateur et réessayer.

Créer une machine virtuelle dans le même réseau virtuel

Pour créer une machine virtuelle dans le même réseau virtuel que votre cluster AKS privé, utilisez la az vm create commande avec l’indicateur --vnet-name pour spécifier le réseau virtuel.

az vm create \
    --resource-group <resource-group-name> \
    --name <vm-name> \
    --image <image-name> \
    --vnet-name <vm-virtual-network-name> \
    --subnet <subnet-name> \
    --admin-username <admin-username> \
    --admin-password <admin-password>

Utiliser une connexion Express Route ou VPN

Pour utiliser une connexion Express Route ou VPN, consultez À propos des passerelles de réseau virtuel ExpressRoute.

Utiliser la fonctionnalité AKS command invoke

Pour utiliser la fonctionnalité AKS command invoke pour se connecter à un cluster privé, consultez Accéder à un cluster privé à l’aide command invokede .

Pour plus d’informations sur les clusters privés dans AKS, consultez Créer un cluster Azure Kubernetes Service (AKS) privé.