Aidez à améliorer cette page
Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Déployez des clusters privés avec un accès Internet limité
Cette rubrique décrit comment déployer un cluster Amazon EKS déployé sur le AWS Cloud, mais ne disposant pas d'un accès Internet sortant. Si vous avez un cluster local activé AWS Outposts, consultezCréez des nœuds Amazon Linux sur AWS Outposts, au lieu de cette rubrique.
Si vous ne connaissez pas la mise en réseau Amazon EKS, consultez la page Démystification de la mise en réseau de cluster pour les composants master Amazon EKS
-
Votre cluster doit extraire des images d'un registre de conteneurs qui se trouve dans votre VPC. Vous pouvez créer un registre de conteneurs Amazon Elastic Container Registry dans votre VPC et y copier des images de conteneurs pour que vos nœuds puissent les extraire. Pour plus d’informations, consultez Copier une image de conteneur d'un référentiel vers un autre référentiel.
-
Votre cluster doit avoir un accès privé au point de terminaison activé. Ceci est nécessaire pour que les nœuds s'enregistrent auprès du point de terminaison du cluster. L'accès public au point de terminaison est facultatif. Pour plus d’informations, consultez Contrôlez l'accès réseau au point de terminaison du serveur API du cluster.
-
Les nœuds autogérés Linux et Windows doivent inclure les arguments d'amorçage suivants avant leur lancement. Ces arguments contournent l'introspection Amazon EKS et ne nécessitent pas d'accès à l'API Amazon EKS depuis le VPC.
-
Déterminez la valeur du point de terminaison de votre cluster à l'aide de la commande suivante. Remplacez
my-cluster
par le nom de votre cluster.aws eks describe-cluster --name
my-cluster
--query cluster.endpoint --output textL'exemple qui suit illustre un résultat.
https://
EXAMPLE108C897D9B2F1B21D5EXAMPLE
.sk1
.region-code
.eks.amazonaws.com -
Déterminez la valeur de l'autorité de certification de votre cluster à l'aide de la commande suivante. Remplacez
my-cluster
par le nom de votre cluster.aws eks describe-cluster --name
my-cluster
--query cluster.certificateAuthority --output textLa sortie renvoyée est une longue chaîne.
-
Remplacez
etcluster-endpoint
dans les commandes suivantes par les valeurs renvoyées dans la sortie des commandes précédentes. Pour plus d'informations sur la spécification des arguments d'amorçage lors du lancement de nœuds autogérés, consultez Créez des nœuds Amazon Linux autogérés et Créez des nœuds autogérés Microsoft Windows.certificate-authority
-
Pour les nœuds Linux :
--apiserver-endpoint
cluster-endpoint
--b64-cluster-cacertificate-authority
Pour des arguments supplémentaires, consultez le script d'amorçage
sur GitHub. -
Pour les nœuds Windows :
Note
Si vous utilisez un CIDR de service personnalisé, vous devez le spécifier à l'aide du paramètre
-ServiceCIDR
. Dans le cas contraire, la résolution DNS pour les Pods dans le cluster échouera.-APIServerEndpoint
cluster-endpoint
-Base64ClusterCAcertificate-authority
Pour des arguments supplémentaires, consultez Paramètres de configuration du script d'amorçage.
-
-
La
ConfigMap
aws-auth
de votre cluster doit être créée depuis votre VPC. Pour plus d'informations sur la création et l'ajout d'entrées dans laConfigMap
aws-auth
, entrezeksctl create iamidentitymapping --help
dans votre terminal. Si laConfigMap
n'existe pas sur votre serveur,eksctl
la créera lorsque vous utiliserez la commande pour ajouter un mappage d'identité. -
Les Pods configurés avec des rôles IAM pour les comptes de service acquièrent des informations d'identification à partir d'un appel d'API AWS Security Token Service (AWS STS). S'il n'y a pas d'accès Internet sortant, vous devez créer et utiliser un point de terminaison AWS STS VPC dans votre VPC. La plupart des AWS
v1
SDK utilisent le point de AWS STS terminaison global par défaut (sts.amazonaws.com
), qui n'utilise pas le point de terminaison AWS STS VPC. Pour utiliser le point de terminaison AWS STS VPC, vous devrez peut-être configurer votre SDK pour utiliser le point de AWS STS terminaison régional ().sts.
Pour plus d’informations, consultez Configuration du AWS Security Token Service point de terminaison pour un compte de service.region-code
.amazonaws.com
-
Les sous-réseaux VPC de votre cluster doivent avoir un point de terminaison de l'interface VPC pour toutes les AWS services auxquelles vos Pods doivent accéder. Pour plus d'informations, consultez Accès à un service AWS à l'aide du point de terminaison d'un VPC d'interface. Certains services et points de terminaison couramment utilisés sont répertoriés dans le tableau suivant. Pour une liste complète des points de terminaison, consultez Services AWS qui s'intègrent à AWS PrivateLink dans le Guide AWS PrivateLink.
Service Point de terminaison Amazon EC2 com.amazonaws. region-code
.ec2Amazon Elastic Container Registry (pour extraire des images de conteneurs) com.amazonaws. region-code
.ecr.api, com.amazonaws.region-code
.ecr.dkr, and com.amazonaws.region-code
.s3Équilibreurs de charge Application Load Balancer et Network Load Balancer com.amazonaws. region-code
.elasticloadbalancingAWS X-Ray com.amazonaws. region-code
.xrayAmazon CloudWatch Logs com.amazonaws. region-code
.logsAWS Security Token Service (obligatoire lors de l'utilisation de rôles IAM pour les comptes de service) com.amazonaws. region-code
.sts
Considérations
-
Tous les nœuds autogérés doivent être déployés sur des sous-réseaux qui disposent des points de terminaison de l'interface VPC dont vous avez besoin. Si vous créez un groupe de nœuds gérés, le groupe de sécurité des points de terminaison de l'interface VPC doit autoriser le CIDR pour les sous-réseaux, ou vous devez ajouter le groupe de sécurité des nœuds créé au groupe de sécurité des points de terminaison de l'interface VPC.
-
Si vous Pods utilisez des volumes Amazon EFS, avant de les déployerStockez un système de fichiers élastique avec Amazon EFS, le fichier kustomization.yaml
du pilote doit être modifié pour configurer les images du conteneur de manière à ce qu'elles soient utilisées de la même manière que Région AWS le cluster Amazon EKS. -
Vous pouvez utiliser le AWS Load Balancer Controllerpour déployer des équilibreurs de charge d' AWS application (ALB) et des équilibreurs de charge réseau sur votre cluster privé. Lors de son déploiement, vous devez utiliser les indicateurs de ligne de commande
pour définir enable-shield
,enable-waf
etenable-wafv2
sur false. Certificate discovery(français non disponible) avec les noms d'hôtes des objets Ingress n'est pas prise en charge. Cela est dû au fait que le contrôleur doit atteindre AWS Certificate Manager, qui ne possède pas de point de terminaison d'interface VPC. Le contrôleur prend en charge les Network Load Balancers avec des cibles IP, qui sont nécessaires pour une utilisation avec Fargate. Pour plus d'informations, consultez Application d'itinéraire et HTTP trafic avec Application Load Balancers et Créer un équilibreur de charge de réseau.
-
Cluster Autoscaler est pris en charge. Lors du déploiement de Pods Cluster Autoscaler, assurez-vous que la ligne de commande inclut
--aws-use-static-instance-list=true
. Pour plus d'informations, consultez Utiliser la liste d'instances statiquessur GitHub. Le VPC du nœud de travail doit également inclure le point de terminaison du VPC et le point de terminaison du AWS STS VPC à mise à l'échelle automatique. -
Certains produits logiciels de conteneur utilisent des appels d'API qui accèdent au AWS Marketplace Metering Service pour surveiller l'utilisation. Les clusters privés n'autorisent pas ces appels, vous ne pouvez donc pas utiliser ces types de conteneurs dans les clusters privés.