Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
Afficher les exigences réseau Amazon EKS pour les VPC et les sous-réseaux
Lorsque vous créez un cluster, vous spécifiez un VPC et au moins deux sous-réseaux situés dans des zones de disponibilité différentes. Cette rubrique fournit une vue d'ensemble des exigences et considérations spécifiques à Amazon EKS qui sont requises pour le VPC et les sous-réseaux que vous utilisez avec votre cluster. Si vous ne disposez pas d’un VPC à utiliser avec Amazon EKS, consultez Création d’un VPC Amazon pour votre cluster Amazon EKS. Si vous créez un cluster local ou étendu sur AWS Outposts, consultez Créer un VPC et des sous-réseaux pour les clusters Amazon EKS sur AWS Outposts à la place de cette rubrique. Le contenu de cette rubrique s’applique aux clusters Amazon EKS avec des nœuds hybrides. Pour connaître les exigences réseau supplémentaires pour les nœuds hybrides, consultez Préparer la mise en réseau pour les nœuds hybrides.
Exigences et considérations requises pour le VPC
Lorsque vous créez un cluster, le VPC que vous spécifiez doit répondre aux exigences et aux considérations suivantes :
-
Le VPC doit disposer d'un nombre suffisant d'adresses IP disponibles pour le cluster, pour tous les nœuds et pour les autres ressources Kubernetes que vous souhaitez créer. Si le VPC que vous voulez utiliser ne dispose pas d’un nombre suffisant d’adresses IP, essayez d’augmenter le nombre d’adresses IP disponibles.
Pour ce faire, vous pouvez mettre à jour la configuration du cluster afin de modifier les sous-réseaux et les groupes de sécurité utilisés par le cluster. Vous pouvez effectuer la mise à jour à partir de la AWS Management Console, de la dernière version de l’AWS CLI, d’AWS CloudFormation et de la version
v0.164.0-rc.0ou ultérieure deeksctl. Vous pouvez avoir besoin de procéder ainsi pour fournir aux sous-réseaux davantage d'adresses IP disponibles afin de réussir la mise à niveau d'une version de cluster.Important
Tous les sous-réseaux que vous ajoutez doivent se trouver dans le même ensemble d'AZ que celui fourni à l'origine lors de la création du cluster. Les nouveaux sous-réseaux doivent répondre à toutes les autres exigences, par exemple disposer d'un nombre suffisant d'adresses IP.
Par exemple, supposons que vous avez créé un cluster et spécifié quatre sous-réseaux. Dans l'ordre où vous les avez spécifiés, le premier sous-réseau se trouve dans la zone de disponibilité
us-west-2a, les deuxième et troisième sous-réseaux se trouvent dans la zone de disponibilitéus-west-2bet le quatrième sous-réseau se trouve dans la zone de disponibilitéus-west-2c. Si vous souhaitez modifier les sous-réseaux, vous devez fournir au moins un sous-réseau dans chacune des trois zones de disponibilité, et les sous-réseaux doivent se trouver dans le même VPC que les sous-réseaux d'origine.Si vous avez besoin de plus d'adresses IP que les blocs CIDR du VPC, vous pouvez ajouter des blocs CIDR supplémentaires en associant des blocs CIDR (Routage inter-domaines sans classe) supplémentaires à votre VPC. Vous pouvez associer des blocs d'adresses CIDR privés (RFC 1918) et publics (non-RFC 1918) à votre VPC avant ou après la création de votre cluster.
Vous pouvez ajouter des nœuds qui utilisent le nouveau bloc CIDR immédiatement après l’avoir ajouté. Cependant, comme le plan de contrôle ne reconnaît le nouveau bloc CIDR qu’une fois la réconciliation terminée, il peut s’écouler jusqu’à une heure avant qu’un bloc CIDR que vous avez associé à un VPC soit reconnu par un cluster. Vous pouvez ensuite exécuter les commandes
kubectl cp,kubectl exec,kubectl logsetkubectl port-forward(ces commandes utilisent l’kubelet API) pour les nœuds et les pods du nouveau bloc CIDR. De plus, si vous avez des pods qui fonctionnent comme un dorsal webhook, vous devez attendre que la réconciliation du plan de contrôle soit terminée. -
Évitez les chevauchements de plages d’adresses IP lorsque vous connectez votre cluster EKS à d’autres VPC via Transit Gateway, l’appairage VPC ou d’autres configurations réseau. Des conflits CIDR se produisent lorsque le CIDR de service de votre cluster EKS chevauche le CIDR d’un VPC connecté. Dans ces scénarios, les adresses ServiceIP ont priorité sur les ressources des VPC connectés ayant la même adresse IP, bien que le routage du trafic puisse devenir imprévisible et que les applications puissent ne pas parvenir à se connecter aux ressources souhaitées.
Pour éviter les conflits CIDR, assurez-vous que le CIDR de votre service EKS ne chevauche aucun CIDR de VPC connecté et conservez un registre centralisé de toutes les attributions CIDR. Si vous rencontrez des chevauchements CIDR, vous pouvez utiliser une passerelle de transit avec un VPC de services partagés. Pour plus d'informations, consultez VPC isolés avec services partagés et Modèles de conservation des adresses IP routables Amazon EKS VPC dans un réseau hybride
. Reportez-vous également à la section Communication entre VPC de la page Considérations relatives aux VPC et aux sous-réseaux du guide des bonnes pratiques EKS. -
Si vous voulez que Kubernetes attribue des adresses
IPv6aux pods et aux services, associez un bloc CIDRIPv6à votre VPC. Pour plus d'informations, veuillez consulter la section Associer un bloc d'adresse CIDR IPv6 à votre VPC dans le Guide de l'utilisateur Amazon VPC. Vous ne pouvez pas utiliser d’adressesIPv6avec des pods et des services s’exécutant sur des nœuds hybrides, et vous ne pouvez pas utiliser de nœuds hybrides avec des clusters configurés avec la famille d’adresses IPIPv6. -
Le VPC doit prend en charge le nom d'hôte
DNSet la résolutionDNS. Sinon, les nœuds ne pourront pas s’enregistrer sur votre cluster. Pour plus d'informations, consultez Attributs DNS pour votre VPC dans le guide de l'utilisateur d'Amazon VPC. -
Le VPC peut nécessiter des points de terminaison d’un VPC utilisant AWS PrivateLink. Pour de plus amples informations, consultez Exigences et considérations requises pour les sous-réseaux.
Si vous avez créé un cluster avec Kubernetes 1.14 ou une version antérieure, Amazon EKS a ajouté l'identification suivante à votre VPC :
| Clé | Valeur |
|---|---|
|
|
|
Cette identification n'a été utilisée que par Amazon EKS. Vous pouvez supprimer l'identification sans affecter vos services. Il n’est pas utilisé avec les clusters de version 1.15 ou ultérieure.
Exigences et considérations requises pour les sous-réseaux
Lorsque vous créez un cluster, Amazon EKS doit créer entre 2 et 4 interfaces réseau Elastic dans les sous-réseaux que vous spécifiez. Ces interfaces réseau permettent la communication entre votre cluster et votre VPC. Ces interfaces réseau activent également des fonctionnalités Kubernetes telles que kubectl exec et kubectl logs. Chaque interface réseau créée par Amazon EKS possède le texte Amazon EKS dans sa description.cluster-name
Amazon EKS peut créer ses interfaces réseau dans n'importe quel sous-réseau que vous spécifiez lorsque vous créez un cluster. Vous pouvez modifier les sous-réseaux dans lesquels Amazon EKS crée ses interfaces réseau après la création de votre cluster. Lorsque vous mettez à jour la version Kubernetes d'un cluster, Amazon EKS supprime les interfaces réseau d'origine qu'il a créées et crée de nouvelles interfaces réseau. Ces interfaces réseau peuvent être créées dans les mêmes sous-réseaux que les interfaces réseau d'origine ou dans des sous-réseaux différents des interfaces réseau d'origine. Pour contrôler les sous-réseaux dans lesquels les interfaces réseau sont créées, vous pouvez limiter le nombre de sous-réseaux que vous spécifiez à seulement deux lorsque vous créez un cluster ou mettre à jour les sous-réseaux après la création du cluster.
Exigences requises pour les sous-réseaux des clusters
Les sous-réseaux que vous spécifiez lors de la création ou de la mise à jour d'un cluster doivent répondre aux exigences suivantes :
-
Les sous-réseaux doivent comporter chacun au moins six adresses IP à utiliser par Amazon EKS. Toutefois, nous vous recommandons au moins 16 adresses IP.
-
Les sous-réseaux doivent se trouver dans au moins deux zones de disponibilité différentes.
-
Les sous-réseaux ne peuvent pas résider dans AWS Outposts ou AWS Wavelength. Toutefois, si vous les avez dans votre VPC, vous pouvez déployer des nœuds autogérés et des ressources Kubernetes sur ces types de sous-réseaux. Pour plus d’informations sur les nœuds autogérés, consultez Gérer vous-même les nœuds grâce aux nœuds autogérés.
-
Les sous-réseaux peuvent être publics ou privés. Toutefois, nous vous recommandons de spécifier des sous-réseaux privés, si possible. Un sous-réseau public est un sous-réseau dont la table de routage comprend une route vers une passerelle Internet, tandis qu’un sous-réseau privé est un sous-réseau dont la table de routage ne comprend pas de route vers une passerelle Internet.
-
Les sous-réseaux ne peuvent pas résider dans les zones de disponibilité suivantes :
Région AWS Nom de la région Identifiants de zone de disponibilité non autorisés us-east-1US East (N. Virginia)
use1-az3us-west-1USA Ouest (Californie du Nord)
usw1-az2ca-central-1Canada (Centre)
cac1-az3
Utilisation de la famille d’adresses IP par composant
Le tableau suivant contient la famille d’adresses IP utilisée par chaque composant d’Amazon EKS. Vous pouvez utiliser une traduction d’adresses réseau (NAT) ou un autre système de compatibilité pour vous connecter à ces composants à partir d’adresses IP sources dans des familles dont la valeur « Non » est indiquée dans une entrée du tableau.
Les fonctionnalités peuvent varier en fonction du paramètre de famille IP (ipFamily) du cluster. Ce paramètre modifie le type d’adresses IP utilisées pour le bloc CIDR que Kubernetes attribue aux services. Un cluster dont la valeur de paramètre est IPv4 est appelé cluster IPv4, et un cluster dont la valeur de paramètre est IPv6 est appelé cluster IPv6.
| Composant | Adresses IPv4 | Adresses IPv6 | Adresses double pile |
|---|---|---|---|
|
Point de terminaison public de l’API EKS |
Oui1,3 |
Oui1,3 |
Oui1,3 |
|
Point de terminaison d’un VPC de l’API EKS |
Oui |
Non |
Non |
|
Point de terminaison public de l’API d’authentification EKS (identité du pod EKS) |
Oui1 |
Oui1 |
Oui1 |
|
Point de terminaison d’un VPC de l’API d’authentification EKS (identité du pod EKS) |
Oui1 |
Oui1 |
Oui1 |
|
Point de terminaison public du cluster Kubernetes |
Oui |
Non |
Non |
|
Point de terminaison privé du cluster Kubernetes |
Oui |
Non |
Non |
|
Point de terminaison public du cluster Kubernetes |
Oui1,4 |
Oui1,4 |
Oui4 |
|
Point de terminaison privé du cluster Kubernetes |
Oui1,4 |
Oui1,4 |
Oui4 |
|
Sous-réseaux du cluster Kubernetes |
Oui2 |
Non |
Oui2 |
|
Adresses IP principales des nœuds |
Oui2 |
Non |
Oui2 |
|
Plage CIDR du cluster pour les adresses IP des services |
Oui2 |
Oui2 |
Non |
|
Adresses IP des pods provenant du CNI d’un VPC |
Oui2 |
Oui2 |
Non |
|
URL des émetteurs IRSA OIDC |
Oui1,3 |
Oui1,3 |
Oui1,3 |
Note
1 Le point de terminaison est double pile avec des adresses IPv4 et IPv6. Vos applications en dehors d’AWS, vos nœuds pour le cluster et vos pods à l’intérieur du cluster peuvent atteindre ce point de terminaison via IPv4 ou IPv6.
2 Vous choisissez entre un cluster IPv4 et un cluster IPv6 dans le paramètre de famille IP (ipFamily) du cluster lorsque vous créez un cluster, et cela ne peut pas être modifié. Vous devez choisir un paramètre différent lorsque vous créez un autre cluster et migrez vos charges de travail.
3 Le point de terminaison double pile a été introduit en août 2024. Pour utiliser les points de terminaison double pile avec l’interface AWS CLI, consultez la configuration Points de terminaison double pile et FIPS dans le Guide de référence des SDK et outils AWS. Voici la liste des nouveaux points de terminaison :
- Point de terminaison public de l’API EKS
-
eks.region.api.aws - URL d’émetteur IRSA OIDC
-
oidc-eks.region.api.aws
4 Le point de terminaison du cluster double pile a été introduit en octobre 2024. EKS crée le point de terminaison suivant pour les nouveaux clusters créés après cette date et qui sélectionnent IPv6 dans le paramètre de famille IP (ipFamily) du cluster :
- Point de terminaison public/privé du cluster EKS
-
eks-cluster.region.api.aws
Exigences requises pour les sous-réseaux des nœuds
Vous pouvez déployer des nœuds et des ressources Kubernetes sur les mêmes sous-réseaux que ceux que vous avez spécifiés lors de la création de votre cluster. Cependant, cela n’est pas nécessaire. En effet, vous pouvez également déployer des nœuds et des ressources Kubernetes sur des sous-réseaux que vous n’avez pas spécifiés lors de la création du cluster. Si vous déployez des nœuds sur différents sous-réseaux, Amazon EKS ne crée pas d’interfaces réseau de cluster dans ces sous-réseaux. Tout sous-réseau sur lequel vous déployez des nœuds et des ressources Kubernetes doit répondre aux exigences suivantes :
-
Les sous-réseaux doivent disposer de suffisamment d'adresses IP disponibles pour déployer tous vos nœuds et ressources Kubernetes.
-
Si vous voulez que Kubernetes attribue des adresses
IPv6aux pod et aux services, vous devez disposer d’un bloc CIDRIPv6et d’un bloc CIDRIPv4associés à votre sous-réseau. Pour plus d’informations, consultez Associer un bloc CIDR IPv6 à votre sous-réseau dans le Guide de l’utilisateur Amazon VPC. Les tables de routage associées aux sous-réseaux doivent inclure des routes vers les adressesIPv4etIPv6. Pour plus d'informations, veuillez consulter Routes dans le guide de l'utilisateur d'Amazon VPC. Les pods se voient attribuer uniquement une adresseIPv6. Toutefois, les interfaces réseau créées par Amazon EKS pour votre cluster et vos nœuds se voient attribuer une adresseIPv4et une adresseIPv6. -
Si vous avez besoin d’un accès entrant depuis Internet vers vos pods, assurez-vous de disposer d’au moins un sous-réseau public avec suffisamment d’adresses IP disponibles pour déployer des équilibreurs de charge et des entrées. Vous pouvez déployer des équilibreurs de charge sur des sous-réseaux publics. Les équilibreurs de charge peuvent équilibrer la charge vers des pods dans des sous-réseaux privés ou publics. Nous vous recommandons de déployer vos nœuds sur des sous-réseaux privés, si possible.
-
Si vous envisagez de déployer des nœuds sur un sous-réseau public, ce sous-réseau doit attribuer automatiquement des adresses publiques
IPv4ou des adressesIPv6. Si vous déployez des nœuds sur un sous-réseau privé doté d'un bloc d'adresse CIDRIPv6associé, le sous-réseau privé doit également attribuer automatiquement des adressesIPv6. Si vous avez utilisé le modèle AWS CloudFormation fourni par Amazon EKS pour déployer votre VPC après le 26 mars 2020, ce paramètre est activé. Si vous avez utilisé les modèles pour déployer votre VPC avant cette date ou si vous utilisez votre propre VPC, vous devez activer ce paramètre manuellement. Pour le modèle, consultez Création d’un VPC Amazon pour votre cluster Amazon EKS. Pour plus d’informations, consultez Modifier l’attribut d’adressage IPv4 public de votre sous-réseau et Modifier l’attribut d’adressage IPv6 de votre sous-réseau dans le Guide de l’utilisateur Amazon VPC. -
Si le sous-réseau sur lequel vous déployez un nœud est un sous-réseau privé et que sa table de routage ne comprend pas de route vers un dispositif de traduction d’adresses réseau (NAT) (
IPv4) ou une passerelle de sortie uniquement (IPv6), ajoutez des points de terminaison d’un VPC à votre VPC à l’aide d’AWS PrivateLink. Les points de terminaison d’un VPC sont nécessaires pour tous les services AWS avec lesquels vos nœuds et vos pods doivent communiquer. Parmi les exemples, citons Amazon ECR, Elastic Load Balancing, Amazon CloudWatch, le service de jetons de sécurité AWS et Amazon Simple Storage Service (Amazon S3). Le point de terminaison doit inclure le sous-réseau dans lequel se trouvent les nœuds. Tous les services AWS ne prennent pas en charge les points de terminaison d’un VPC. Pour plus d’informations, consultez Qu’est-ce qu’AWS PrivateLink ? et Services AWS qui s’intègrent à AWS PrivateLink. Pour obtenir une liste complète des exigences Amazon EKS, consultez Déployer des clusters privés avec un accès Internet limité. -
Si vous souhaitez déployer des équilibreurs de charge sur un sous-réseau, le sous-réseau doit comporter l'identification suivante :
-
Sous-réseaux privés
Clé Valeur kubernetes.io/role/internal-elb1 -
Sous-réseaux publics
Clé Valeur kubernetes.io/role/elb1
-
Lorsqu’un cluster Kubernetes de version 1.18 ou antérieure a été créé, Amazon EKS a balisé la balise suivante à tous les sous-réseaux spécifiés.
| Clé | Valeur |
|---|---|
|
|
|
Lorsque vous créez un nouveau cluster Kubernetes, Amazon EKS n’ajoute pas la balise à vos sous-réseaux. Si la balise se trouvait sur des sous-réseaux utilisés par un cluster dont la version était antérieure à 1.19, elle n’a pas été automatiquement supprimée des sous-réseaux lors de la mise à jour du cluster vers une version plus récente. La version 2.1.1 ou antérieure de l’AWS Load Balancer Controller nécessite cette balise. Si vous utilisez une version plus récente du Load Balancer Controller, vous pouvez supprimer l'identification sans interrompre vos services. Pour plus d’informations sur le contrôleur, consultez Routage du trafic Internet avec l’AWS Load Balancer Controller.
Si vous avez déployé un VPC à l’aide de eksctl ou de l’un des modèles VPC AWS CloudFormation d’Amazon EKS, les informations suivantes s’appliquent :
-
À partir du 26 mars 2020 : les adresses
IPv4publiques sont automatiquement attribuées par des sous-réseaux publics aux nouveaux nœuds déployés sur des sous-réseaux publics. -
Avant le 26 mars 2020 : les adresses
IPv4publiques ne sont pas automatiquement attribuées par les sous-réseaux publics aux nouveaux nœuds déployés sur les sous-réseaux publics.
Cette modification affecte les nouveaux groupes de nœuds déployés sur des sous-réseaux publics de la manière suivante :
-
Groupes de nœuds gérés : si le groupe de nœuds est déployé sur un sous-réseau public à compter du 22 avril 2020, l’attribution automatique d’adresses IP publiques doit être activée pour le sous-réseau public. Pour plus d'informations, consultez Modification de l'attribut d'adressage IPv4 public de votre sous-réseau.
-
Groupes de nœuds autogérés Linux, Windows ou Arm : si le groupe de nœuds est déployé sur un sous-réseau public à compter du 26 mars 2020, l’attribution automatique d’adresses IP publiques doit être activée pour le sous-réseau public. Sinon, les nœuds doivent être lancés avec une adresse IP publique. Pour plus d'informations, consultez Modification de l'attribut d'adressage IPv4 public de votre sous-réseau ou Attribution d'une adresse IPv4 publique lors du lancement d'une instance.
Exigences et considérations requises pour les sous-réseaux partagés
Vous pouvez utiliser le partage VPC pour partager des sous-réseaux avec d’autres comptes AWS au sein des mêmes AWS Organizations. Vous pouvez créer des clusters Amazon EKS dans des sous-réseaux partagés, en tenant compte des points suivants :
-
Le propriétaire du sous-réseau VPC doit partager un sous-réseau avec un compte participant avant que ce compte puisse y créer un cluster Amazon EKS.
-
Vous ne pouvez pas lancer de ressources à l’aide du groupe de sécurité par défaut pour le VPC, car il appartient au propriétaire. De plus, les participants ne peuvent pas lancer de ressources avec des groupes de sécurité détenus par d'autres participants ou par le propriétaire.
-
Dans un sous-réseau partagé, le participant et le propriétaire contrôlent séparément les groupes de sécurité au sein de leur compte respectif. Le propriétaire du sous-réseau peut voir ces groupes de sécurité créés par les participants, mais ne peut pas exécuter d'actions sur ceux-ci. Si le propriétaire du sous-réseau souhaite supprimer ou modifier ces groupes de sécurité, le participant qui a créé le groupe de sécurité doit effectuer l'action.
-
Si un cluster est créé par un participant, il faut tenir compte des éléments suivants :
-
Le rôle IAM de cluster et les rôles IAM de nœud doivent être créés dans ce compte. Pour plus d’informations, consultez Rôle IAM de cluster Amazon EKS et Rôle IAM de nœud Amazon EKS.
-
Tous les nœuds doivent être créés par le même participant, y compris les groupes de nœuds gérés.
-
-
Le propriétaire du VPC partagé ne peut pas afficher, mettre à jour ou supprimer un cluster créé par un participant dans le sous-réseau partagé. Cela s'ajoute aux ressources VPC auxquelles chaque compte a un accès différent. Pour plus d'informations, consultez Responsabilités et autorisations pour les propriétaires et les participants dans le Guide de l'utilisateur Amazon VPC.
-
Si vous utilisez la fonctionnalité réseau personnalisé du module complément CNI Amazon VPC pour Kubernetes, vous devez utiliser les mappages d’ID de zone de disponibilité répertoriés dans le compte propriétaire pour créer chaque
ENIConfig. Pour de plus amples informations, consultez Déploiement de pods dans des sous-réseaux alternatifs avec réseau personnalisé.
Pour plus d'informations sur le partage de sous-réseaux VPC, consultez Partager votre VPC avec d'autres comptes dans le Guide de l'utilisateur Amazon VPC.