Personnaliser la sortie de cluster avec des types sortants dans Azure Kubernetes Service (AKS)
Vous pouvez personnaliser la sortie d’un cluster AKS pour l’adapter à des scénarios spécifiques. Par défaut, AKS approvisionne un équilibreur de charge de référence SKU standard à configurer et utiliser pour la sortie. Cependant, la configuration par défaut peut ne pas répondre aux exigences de tous les scénarios si les adresses IP publiques ne sont pas autorisées ou si des tronçons supplémentaires sont nécessaires pour la sortie.
Cet article décrit les différents types de connectivité sortante disponibles dans les clusters AKS.
Notes
Vous pouvez maintenant mettre à jour le outboundType
après la création du cluster.
Important
Dans les clusters non privés, le trafic du cluster du serveur d’API est routé et traité via le type de sortie des clusters. Pour empêcher le traitement du trafic du serveur d’API en tant que trafic public, envisagez d’utiliser uncluster privé, ou consultez la fonctionnalité Intégration au réseau virtuel du serveur d’API.
Limites
- La définition de
outboundType
nécessite des clusters AKS avec unvm-set-type
VirtualMachineScaleSets
et uneload-balancer-sku
Standard
.
Types sortants dans AKS
Vous pouvez configurer un cluster AKS à l’aide des types sortants suivants : équilibreur de charge, passerelle NAT ou routage défini par l’utilisateur. Le type de sortie impacte seulement le trafic de sortie de votre cluster. Pour plus d’informations, consultez Configuration des contrôleurs d’entrée.
Type sortant de loadBalancer
L’équilibreur de charge est utilisé pour la sortie via une adresse IP publique affectée à AKS. Un type de sortie loadBalancer
prend en charge les services Kubernetes de type loadBalancer
, qui attendent une sortie de l’équilibreur de charge créé par le fournisseur de ressources AKS.
Si loadBalancer
est défini, AKS effectue automatiquement la configuration suivante :
- Une adresse IP publique est provisionnée pour la sortie du cluster.
- L’adresse IP publique est affectée à la ressource d’équilibreur de charge.
- Les pools de back-end pour l’équilibreur de charge sont configurés pour les nœuds d’agent dans le cluster.
Pour plus d’informations, consultez Utiliser un équilibreur de charge standard dans AKS.
Type sortant de managedNatGateway
ou userAssignedNatGateway
Si managedNatGateway
ou userAssignedNatGateway
sont sélectionnés pour outboundType
, AKS s’appuie sur la passerelle NAT réseau Azure pour la sortie du cluster.
- Sélectionnez
managedNatGateway
lorsque vous utilisez des réseaux virtuels managés. AKS approvisionne une passerelle NAT et l’attachera au sous-réseau du cluster. - Sélectionnez
userAssignedNatGateway
lors de l’utilisation de la mise en réseau virtuelle bring-your-own. Pour utiliser cette option, vous devez avoir provisionné une passerelle NAT avant la création du cluster.
Pour plus d’informations, consultez Utiliser une passerelle NAT avec AKS.
Type sortant de userDefinedRouting
Notes
Le type sortant userDefinedRouting
est un scénario réseau avancé et nécessite une configuration réseau appropriée.
Si userDefinedRouting
est défini, AKS ne configure pas automatiquement les chemins de sortie. Vous devez configurer la sortie vous-même.
Vous devez déployer le cluster AKS dans un réseau virtuel existant, avec un sous-réseau qui a été préalablement configuré. Puisque vous n’utilisez pas une architecture standard d’équilibreur de charge (ou SLB, pour « Standard Load Balancer »), vous devez établir une sortie explicite. Cette architecture requiert l’envoi explicite du trafic sortant vers une appliance comme un pare-feu, une passerelle ou un proxy, ou pour permettre au NAT d’être effectué par une adresse IP publique attribuée à l’équilibreur de charge standard ou à l’appliance.
Pour plus d’informations, consultez Configurer la sortie du cluster via le routage défini par l’utilisateur.
Type sortant de none
(préversion)
Important
Le type sortant none
nécessite une planification minutieuse pour s’assurer que le cluster fonctionne comme prévu sans dépendances involontaires envers des services externes. Pour les clusters entièrement isolés, consultez Considérations relatives aux clusters isolés.
Si none
est défini, AKS ne configure pas automatiquement les chemins de sortie. Cette option est similaire à userDefinedRouting
, mais ne nécessite pas de route par défaut dans le cadre de la validation.
Le type sortant none
est pris en charge dans les scénarios Apportez votre propre réseau virtuel et les scénarios de VNET managé. Toutefois, vous devez vous assurer que le cluster AKS est déployé dans un environnement réseau où des chemins de sortie explicites sont définis si nécessaire. Pour les scénarios Apportez votre propre réseau virtuel, le cluster doit être déployé dans un réseau virtuel existant avec un sous-réseau qui a été préalablement configuré. Étant donné qu’AKS n’approvisionne pas d’équilibreur de charge standard ni d’infrastructure de sortie, vous devez établir des chemins de sortie explicites si nécessaire. Cela peut inclure le routage du trafic vers un pare-feu, un proxy, une passerelle, ou d’autres configurations réseau personnalisées.
Type sortant de block
(préversion)
Important
Le type sortant block
nécessite une planification minutieuse pour s’assurer qu’il n’existe aucune dépendance réseau involontaire. Pour les clusters entièrement isolés, consultez Considérations relatives aux clusters isolés.
Si block
est défini, AKS configure les règles réseau de façon à bloquer activement tout le trafic de sortie à partir du cluster. Cette option est utile pour les environnements hautement sécurisés où la connectivité sortante doit être restreinte.
Lorsque vous utilisez block
:
- AKS garantit qu’aucun trafic Internet public ne peut laisser le cluster via des règles de groupe de sécurité réseau (NSG). Le trafic de réseau virtuel n’est pas affecté.
- Vous devez autoriser explicitement tout trafic de sortie requis via des configurations réseau supplémentaires.
L’option block
fournit un niveau supplémentaire d’isolement réseau, mais nécessite une planification minutieuse pour éviter de rompre les charges de travail ou les dépendances.
Mise à jour outboundType
après la création du cluster
La modification du type sortant après la création du cluster déploie ou supprime des ressources si nécessaire pour placer le cluster dans la nouvelle configuration de sortie.
Les tableaux suivants indiquent les chemins de migration pris en charge entre les types sortants pour les réseaux virtuels managés et BYO.
Chemins de migration pris en charge pour le VNet managé
Chaque ligne indique si le type sortant peut être migré vers les types répertoriés en haut. « Pris en charge » signifie qu’une migration est possible, alors que « Non pris en charge » ou « N/A » signifie qu’une migration n’est pas possible.
De/À | loadBalancer |
managedNATGateway |
userAssignedNATGateway |
userDefinedRouting |
none |
block |
---|---|---|---|---|---|---|
loadBalancer |
S/O | Prise en charge | Non pris en charge | Non pris en charge | Prise en charge | Prise en charge |
managedNATGateway |
Prise en charge | S/O | Non pris en charge | Non pris en charge | Prise en charge | Prise en charge |
userAssignedNATGateway |
Non pris en charge | Non pris en charge | N/A | Non pris en charge | Non pris en charge | Non pris en charge |
none |
Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | N/A | Prise en charge |
block |
Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | Prise en charge | S/O |
Chemins de migration pris en charge pour le VNet BYO
De/À | loadBalancer |
managedNATGateway |
userAssignedNATGateway |
userDefinedRouting |
none |
block |
---|---|---|---|---|---|---|
loadBalancer |
S/O | Non pris en charge | Prise en charge | Prise en charge | Prise en charge | Non pris en charge |
managedNATGateway |
Non pris en charge | N/A | Non pris en charge | Non pris en charge | Non pris en charge | Non pris en charge |
userAssignedNATGateway |
Prise en charge | Non pris en charge | N/A | Prise en charge | Prise en charge | Non pris en charge |
userDefinedRouting |
Prise en charge | Non pris en charge | Prise en charge | S/O | Prise en charge | Non pris en charge |
none |
Prise en charge | Non pris en charge | Prise en charge | Prise en charge | S/O | Non pris en charge |
La migration est prise en charge uniquement entre loadBalancer
, managedNATGateway
(si vous utilisez un réseau virtuel managé), userAssignedNATGateway
et userDefinedRouting
(si vous utilisez un réseau virtuel personnalisé).
Avertissement
La migration du type sortant vers des types gérés par l’utilisateur (userAssignedNATGateway
et userDefinedRouting
) change les adresses IP publiques sortantes du cluster.
Si Plages IP autorisées est activé, vérifiez que la nouvelle plage IP sortante est ajoutée à la plage IP autorisée.
Avertissement
La modification du type sortant sur un cluster perturbe la connectivité réseau et entraîne une modification de l’adresse IP de sortie du cluster. Si des règles de pare-feu ont été configurées pour restreindre le trafic à partir du cluster, vous devez les mettre à jour pour correspondre à la nouvelle adresse IP de sortie.
Mettre à jour un cluster pour utiliser un nouveau type sortant
Remarque
Vous devez utiliser une version >= 2.56 d’Azure CLI pour migrer le type sortant. Installez az upgrade
pour mettre à jour vers la version la plus récente d’Azure CLI.
- Mettez à jour la configuration sortante de votre cluster à l’aide de la commande
az aks update
.
Mettre à jour le cluster de loadbalancer vers managedNATGateway
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type managedNATGateway --nat-gateway-managed-outbound-ip-count <number of managed outbound ip>
Mettre à jour le cluster de managedNATGateway vers loadbalancer
az aks update --resource-group <resourceGroup> --name <clusterName> \
--outbound-type loadBalancer \
<--load-balancer-managed-outbound-ip-count <number of managed outbound ip>| --load-balancer-outbound-ips <outbound ip ids> | --load-balancer-outbound-ip-prefixes <outbound ip prefix ids> >
Avertissement
Ne réutilisez pas une adresse IP déjà utilisée dans des configurations sortantes antérieures.
Mettre à jour le cluster de managedNATGateway vers userDefinedRouting
- Ajoutez une route
0.0.0.0/0
à la table de routage par défaut. Consultez Personnaliser la sortie du cluster avec une table de routage définie par l’utilisateur dans Azure Kubernetes Service (AKS)
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userDefinedRouting
Mettre à jour le cluster de loadbalancer vers userAssignedNATGateway dans le scénario VNet BYO
- Associez la passerelle NAT au sous-réseau associé à la charge de travail. Consultez Créer une passerelle NAT managée ou attribuée par l’utilisateur
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userAssignedNATGateway
Étapes suivantes
Azure Kubernetes Service