Utiliser une connectivité privée pour des clusters Kubernetes avec Arc avec une liaison privée (préversion)
Azure Private Link vous permet de lier de manière sécurisée des services Azure à votre réseau virtuel à l’aide de points de terminaison privés. Vous pouvez ainsi connecter vos clusters Kubernetes locaux à Azure Arc, et envoyer tout le trafic via Azure ExpressRoute ou une connexion VPN site à site au lieu d’utiliser des réseaux publics. Dans Azure Arc, vous pouvez utiliser un modèle d’étendue de liaison privée pour permettre à plusieurs clusters Kubernetes de communiquer avec leurs ressources Azure Arc en utilisant un point de terminaison privé unique.
Ce document explique quand utiliser Azure Arc Private Link et comment le configurer.
Important
La fonctionnalité Azure Arc Private Link est actuellement en préversion dans toutes les régions où Kubernetes avec Azure Arc est présent, à l’exception d’Asie Sud-Est. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Avantages
Grâce à Azure Private Link, vous pouvez :
- vous connecter en privé à Azure Arc sans ouvrir d'accès au réseau public ;
- Vérifier que les données du cluster Kubernetes avec Arc ne sont accessibles que via des réseaux privés autorisés.
- Empêcher l’exfiltration de données de vos réseaux privés en définissant des clusters Kubernetes avec Azure Arc spécifiques et d’autres ressources de services Azure, comme Azure Monitor, qui se connectent via votre point de terminaison privé.
- connecter en toute sécurité votre réseau privé local à Azure Arc à l'aide d'ExpressRoute et de Private Link ;
- Conservez tout le trafic au sein du réseau principal Microsoft Azure.
Pour plus d’informations, consultez Principaux avantages d’Azure Private Link.
Fonctionnement
Une étendue de liaison privée Azure Arc connecte des points de terminaison privés (et les réseaux virtuels dans lesquels ils se trouvent) à une ressource Azure, en l’occurrence aux clusters Kubernetes avec Azure Arc. Lorsque vous activez une extension de cluster Kubernetes avec Arc, la connexion à d’autres ressources Azure peut être nécessaire pour ces scénarios. Par exemple, avec Azure Monitor, les journaux collectés à partir du cluster sont envoyés à l’espace de travail Log Analytics.
La connectivité aux autres ressources Azure à partir d’un cluster Kubernetes avec Arc listé plus haut nécessite la configuration de Private Link pour chaque service. Pour obtenir un exemple, consultez Private Link pour Azure Monitor.
Limites actuelles
Tenez compte de ces limitations actuelles lors de la planification de votre configuration Private Link.
Vous ne pouvez associer qu'une seule Étendue de liaison privée Azure Arc à un réseau virtuel.
Un cluster Kubernetes avec Azure Arc ne peut se connecter qu’à une seule étendue de liaison privée Azure Arc.
Tous les clusters Kubernetes locaux doivent utiliser le même point de terminaison privé en résolvant les informations de point de terminaison privé correctes (nom d’enregistrement FQDN et adresse IP privée) à l’aide du même redirecteur DNS. Pour plus d’informations, consultez les valeurs de zone DNS privée du point de terminaison privé Azure. Le cluster Kubernetes avec Azure Arc, l’étendue de liaison privée Azure Arc et le réseau virtuel doivent se trouver dans la même région Azure. Le point de terminaison privé et le réseau virtuel doivent également se trouver dans la même région Azure, mais cette région peut être différente de celle de votre étendue de liaison privée Azure Arc et du cluster Kubernetes avec Arc.
Dans le cadre de la préversion, le trafic vers les étiquettes de service Microsoft Entra ID, Azure Resource Manager et Microsoft Container Registry doit être autorisé via votre pare-feu de réseau local.
D’autres services Azure que vous utilisez, tels qu’Azure Monitor, peuvent nécessiter leurs propres points de terminaison privés dans votre réseau virtuel.
Remarque
La fonctionnalité de connexion au cluster (et donc l’emplacement personnalisé) n’est pas actuellement prise en charge sur les clusters Kubernetes avec Azure Arc avec connectivité privée activée. La connectivité réseau utilisant des liaisons privées pour les services Azure Arc comme les services de données avec Azure Arc et les services d’application avec Azure Arc qui utilisent ces fonctionnalités n’est pas actuellement encore prise en charge.
Extensions de cluster qui prennent en charge la connectivité réseau via des liaisons privées
Sur les clusters Kubernetes avec Azure Arc configurés avec des liaisons privées, ces extensions prennent en charge la connectivité de bout en bout via des liaisons privées :
Planification de votre configuration Private Link
Pour connecter votre cluster Kubernetes à Azure Arc via une liaison privée, configurez votre réseau comme suit :
- Établissez une connexion entre votre réseau local et un réseau virtuel Azure à l’aide d’un VPN site à site ou d’un circuit ExpressRoute.
- Déployez une étendue de liaison privée Azure Arc contrôlant les clusters Kubernetes qui peuvent communiquer avec Azure Arc sur des points de terminaison privés, et associez-la à votre réseau virtuel Azure avec un point de terminaison privé.
- Mettez à jour la configuration DNS sur votre réseau local afin de résoudre les adresses des points de terminaison privés.
- Configurez votre pare-feu local de façon à autoriser l’accès à Microsoft Entra ID, Azure Resource Manager et Microsoft Container Registry.
- Associez les clusters Kubernetes avec Azure Arc à l’étendue de liaison privée Azure Arc.
- Si vous le souhaitez, déployez des points de terminaison privés pour d'autres services Azure utilisés avec votre cluster Kubernetes compatible avec Azure Arc, comme Azure Monitor.
Le reste de cet article part du principe que vous avez déjà configuré votre circuit ExpressRoute ou votre connexion VPN de site à site.
Configuration réseau
Les clusters Kubernetes avec Azure Arc s’intègrent à plusieurs services Azure afin d’intégrer la gestion et la gouvernance cloud à vos clusters Kubernetes hybrides. La plupart de ces services offrent déjà des points de terminaison privés. Toutefois, vous devez configurer vos règles de pare-feu et de routage pour autoriser l’accès à l’ID Microsoft Entra et à Azure Resource Manager sur Internet jusqu’à ce que ces services offrent des points de terminaison privés. Vous devez également autoriser l’accès à Microsoft Container Registry (et à AzureFrontDoor.FirstParty comme précurseur de Microsoft Container Registry) pour extraire des images et des charts Helm afin d’activer des services comme Azure Monitor, ainsi que pour la configuration initiale des agents Azure Arc sur les clusters Kubernetes.
Il existe deux façons d’activer cette configuration :
Si votre réseau est configuré pour router l’ensemble du trafic Internet via le VPN Azure ou le circuit ExpressRoute, vous pouvez configurer le groupe de sécurité réseau (NSG) associé à votre sous-réseau dans Azure de manière à autoriser l’accès TCP 443 (HTTPS) sortant à Microsoft Entra ID, Azure Resource Manager, Azure Front Door et Microsoft Container Registry à l’aide d’étiquettes de service. Les règles NSG doivent se présenter comme suit :
Setting Règle Microsoft Entra ID Règle Azure Resource Manager Règle AzureFrontDoorFirstParty Règle Microsoft Container Registry Source Réseau virtuel Réseau virtuel Réseau virtuel Réseau virtuel Plages de ports sources * * * * Destination Étiquette du service Étiquette du service Étiquette du service Étiquette du service Identification de destination AzureActiveDirectory AzureResourceManager AzureFrontDoor.FirstParty MicrosoftContainerRegistry Plages de ports de destination 443 443 443 443 Protocole TCP TCP TCP TCP Action Allow Autoriser Autoriser (à la fois entrant et sortant) Autoriser Priorité 150 (doit être inférieure à toutes les règles qui bloquent l'accès à Internet) 151 (doit être inférieure à toutes les règles qui bloquent l'accès à Internet) 152 (doit être inférieure à toutes les règles qui bloquent l’accès à Internet) 153 (doit être inférieure à toutes les règles qui bloquent l’accès à Internet) Nom AllowAADOutboundAccess AllowAzOutboundAccess AllowAzureFrontDoorFirstPartyAccess AllowMCROutboundAccess Vous pouvez également configurer le pare-feu sur votre réseau local de façon à autoriser l’accès TCP 443 sortant (HTTPS) à Microsoft Entra ID, Azure Resource Manager et Microsoft Container Registry, et l’accès entrant et sortant à AzureFrontDoor.FirstParty en utilisant les fichiers d’étiquette de service téléchargeables. Le fichier JSON contient toutes les plages d’adresses IP publiques utilisées par Microsoft Entra ID, Azure Resource Manager, AzureFrontDoor.FirstParty et Microsoft Container Registry, et il est mis à jour tous les mois pour tenir compte des éventuels changements. L’étiquette de service de Microsoft Entra est AzureActiveDirectory, l’étiquette de service d’Azure Resource Manager est AzureResourceManager, l’étiquette de service de Microsoft Container Registry est MicrosoftContainerRegistry, et l’étiquette de service d’Azure Front Door est AzureFrontDoor.FirstParty. Contactez votre administrateur réseau et votre fournisseur de pare-feu réseau pour savoir comment configurer vos règles de pare-feu.
Créer une étendue de liaison privée Azure Arc
Connectez-vous au portail Azure.
Recherchez l’étendue De liaison privée Azure Arc. Vous pouvez également accéder directement à la page Étendue de liaison privée Azure Arc dans le portail.
Sélectionnez Créer.
Sélectionner un abonnement et un groupe de ressources. Dans le cadre de la préversion, votre réseau virtuel et vos clusters Kubernetes avec Azure Arc doivent être associés au même abonnement que l’étendue de liaison privée Azure Arc.
Donnez un nom à l'Étendue de liaison privée Azure Arc.
Pour exiger que chaque cluster Kubernetes avec Azure Arc associé à cette étendue de liaison privée Azure Arc envoie des données au service par le biais du point de terminaison privé, sélectionner Autoriser l’accès de réseau public. Si vous le faites, les clusters Kubernetes associés à cette étendue de liaison privée Azure Arc peuvent communiquer avec le service sur des réseaux privés ou publics. Vous pouvez modifier ce paramètre selon vos besoins une fois l’étendue créée.
Sélectionnez Revoir + créer.
Quand la validation est terminée, sélectionnez Créer.
Créer un Private Endpoint
Une fois votre étendue de liaison privée Azure Arc créée, vous devez la connecter à un ou plusieurs réseaux virtuels avec un point de terminaison privé. Le point de terminaison privé expose l'accès aux services Azure Arc sur une adresse IP privée dans l'espace d'adressage de votre réseau virtuel.
Le point de terminaison privé de votre réseau virtuel lui permet d’atteindre les points de terminaison des clusters Kubernetes avec Azure Arc par le biais d’adresses IP privées à partir du pool de votre réseau, au lieu d’utiliser les adresses IP publiques de ces points de terminaison. Cela vous permet de continuer à utiliser vos clusters Kubernetes avec Azure Arc sans ouvrir votre réseau virtuel à un trafic sortant non requis. Le trafic entre le point de terminaison privé et vos ressources passe par Microsoft Azure et n’est pas routé vers des réseaux publics.
Sur le portail Azure, accédez à la ressource Étendue de liaison privée Azure Arc que vous avez créée.
Dans le menu de la ressource, sous Configurer, sélectionnez Connexions de point de terminaison privé.
Sélectionnez Ajouter pour lancer le processus de création du point de terminaison. Vous pouvez également approuver des connexions qui ont été démarrées dans le centre Azure Private Link en les sélectionnant, puis en choisissant Approuver.
Sélectionnez l’abonnement et le groupe de ressources, puis entrez un nom pour le point de terminaison. Sélectionnez la même région que votre réseau virtuel.
Sélectionnez Suivant : Ressource.
Dans la page Ressource, si ces valeurs ne sont pas déjà sélectionnées, procédez comme suit :
- Sélectionnez l’abonnement qui contient votre ressource Étendue de liaison privée Azure Arc.
- Pour le type de ressource, choisissez
Microsoft.HybridCompute/privateLinkScopes
. - Pour Ressource, choisissez l’étendue de liaison privée Azure Arc que vous avez créée.
- Sélectionnez Suivant : réseau virtuel.
Sur la page Réseau virtuel :
- Sélectionnez le réseau virtuel et le sous-réseau à partir duquel vous souhaitez vous connecter aux clusters Kubernetes avec Azure Arc.
- Sélectionnez Suivant : DNS.
Dans la page DNS :
Pour Intégrer à une zone DNS privée, sélectionnez Oui. Une nouvelle zone DNS privée est créée.
Vous pouvez également, si vous préférez gérer les enregistrements DNS manuellement, sélectionnez Nonet commencez par configurer votre liaison privée, avec ce point de terminaison privé et la configuration de l'étendue privée. Ensuite, configurez votre système DNS conformément aux instructions de la rubrique Configuration DNS des points de terminaison privés Azure. Veillez à ne pas créer d’enregistrements vides en préparation de votre configuration de liaison privée. Les enregistrements DNS que vous créez peuvent remplacer les paramètres existants et avoir un impact sur votre connectivité avec les clusters Kubernetes avec Arc.
Sélectionnez Revoir + créer.
Laissez le processus de validation se terminer.
Sélectionnez Créer.
Configurer la redirection DNS locale
Vos clusters Kubernetes locaux doivent être en mesure de résoudre les enregistrements DNS des liaisons privées en adresses IP de points de terminaison privés. Les étapes de configuration varient selon que vous utilisez des zones DNS privées Azure pour conserver des enregistrements DNS ou votre propre serveur DNS local.
Configuration DNS à l'aide de zones DNS privées intégrées à Azure
Si vous avec sélectionné Oui pour Intégrer avec une zone DNS privée, vos clusters Kubernetes locaux doivent être en mesure de transférer les requêtes DNS aux serveurs Azure DNS intégrés afin de résoudre correctement les adresses des points de terminaison privés. Vous avez besoin dans Azure d'un redirecteur DNS (soit une machine virtuelle spécialement conçue, soit une instance de Pare-feu Azure avec proxy DNS activé), après quoi vous pouvez configurer votre serveur DNS local pour qu'il transmette les requêtes à Azure afin de résoudre les adresses IP des points de terminaison privés.
La documentation relative aux points de terminaison privés fournit des conseils sur la configuration des charges de travail locales à l'aide d'un redirecteur DNS.
Configuration manuelle du serveur DNS
Si vous avez choisi de ne pas utiliser les zones DNS privées Azure lors de la création du point de terminaison privé, vous devez créer les enregistrements DNS requis sur votre serveur DNS local.
- Accédez au portail Azure.
- Accédez à la ressource de point de terminaison privé associée à votre réseau virtuel et à votre étendue de liaison privée Azure Arc.
- Dans le volet de gauche, sélectionnez Configuration DNS pour afficher la liste des enregistrements DNS et des adresses IP correspondantes à configurer sur votre serveur DNS. Les noms de domaine complets (FQDN) et les adresses IP changeront en fonction de la région que vous avez sélectionnée pour votre point de terminaison privé et des adresses IP disponibles dans votre sous-réseau.
- Suivez les instructions de votre fournisseur de serveur DNS pour ajouter les zones DNS et les enregistrements A correspondant au tableau du portail. Veillez à sélectionner un serveur DNS dont l'étendue est adaptée à votre réseau. Chaque cluster Kubernetes qui utilise ce serveur DNS résout désormais les adresses IP des points de terminaison privés, et doit être associé à l’étendue de liaison privée Azure Arc, faute de quoi la connexion sera refusée.
Configurer des liaisons privées
Remarque
La configuration des liaisons privées pour les clusters Kubernetes avec Azure Arc est prise en charge à partir de la version 1.3.0 de l’extension CLI connectedk8s
, mais nécessite une version d’Azure CLI supérieure à la 2.3.0. Si vous utilisez une version supérieure à la 1.3.0 pour l’extension CLI connectedk8s
, nous avons introduit des validations pour vérifier et connecter correctement le cluster à Azure Arc uniquement si vous exécutez une version d’Azure CLI supérieure à la 2.3.0.
Vous pouvez configurer des liaisons privées pour un cluster Kubernetes avec Azure Arc existant ou lors de l’intégration initiale d’un cluster Kubernetes à Azure Arc à l’aide de la commande suivante :
az connectedk8s connect -g <resource-group-name> -n <connected-cluster-name> -l <location> --enable-private-link true --private-link-scope-resource-id <pls-arm-id>
Nom du paramètre | Description |
---|---|
--enable-private-link |
Active la fonctionnalité de liaison privée si elle est définie sur True . |
--private-link-scope-resource-id |
ID de la ressource d’étendue de liaison privée créée précédemment. Par exemple : /subscriptions//resourceGroups//providers/Microsoft.HybridCompute/privateLinkScopes/ |
Pour les clusters Kubernetes avec Azure Arc qui ont été configurés avant l’étendue de liaison privée Azure Arc, configurez des liaisons privées dans le portail Azure à l’aide des étapes suivantes :
- Sur le portail Azure, accédez à votre ressource Étendue de liaison privée Azure Arc.
- Dans le menu des ressources, sous Configurer, sélectionnez les ressources Azure Arc. Ensuite, cliquez sur Ajouter.
- Vous verrez tous les clusters Kubernetes avec Arc dans le même abonnement et la même région que votre étendue Private Link. Cochez la case pour chaque cluster Kubernetes que vous souhaitez associer à l’étendue Private Link. Lorsque vous avez terminé, choisissez Sélectionner pour enregistrer vos modifications.
Dépannage
Si vous rencontrez des problèmes, les suggestions suivantes peuvent vous aider :
Vérifiez vos serveurs DNS locaux pour vous assurer qu'ils sont transférés vers Azure DNS ou qu'ils sont configurés avec les enregistrements A appropriés dans votre zone de liaison privée. Ces commandes de recherche doivent renvoyer des adresses IP privées dans votre réseau virtuel Azure. Si adresses IP publiques sont résolues, vérifiez la configuration DNS de votre serveur et de votre réseau.
nslookup gbl.his.arc.azure.com nslookup agentserviceapi.guestconfiguration.azure.com nslookup dp.kubernetesconfiguration.azure.com
En cas de problème lors de l’intégration de votre cluster Kubernetes, vérifiez que vous avez ajouté les étiquettes de service Microsoft Entra ID, Azure Resource Manager, AzureFrontDoor.FirstParty et Microsoft Container Registry au pare-feu de votre réseau local.
Étapes suivantes
- Apprenez-en davantage sur Azure Private Endpoint.
- Découvrez comment résoudre les problèmes de connectivité d’Azure Private Endpoint.
- Découvrez comment configurer Private Link pour Azure Monitor.