Aidez à améliorer cette page
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.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page qui se trouve dans le volet droit de chaque page.
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éployer des clusters privés avec un accès Internet limité
Cette rubrique décrit comment déployer un cluster Amazon EKS qui est déployé sur le AWS cloud, mais qui ne dispose pas d'un accès Internet sortant. Si vous avez un cluster local sur AWS OutpostsCréez des nœuds Amazon Linux sur AWS Outposts, consultez plutôt cette rubrique.
Note
Cette rubrique couvre la sortie du plan de données (nœuds et charges de travail sans accès Internet sortant). Pour contrôler la manière dont le trafic sortant du plan de contrôle du cluster atteint votre VPC, consultez. Configuration du routage des sorties du plan de contrôle
Si vous n'êtes pas familiarisé avec la mise en réseau Amazon EKS, consultez la section Mise en réseau de De-mystifying clusters pour les nœuds de travail Amazon EKS
Exigences en matière d’architecture de cluster
-
Votre cluster doit extraire les images d’un registre de conteneurs situé 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 de plus amples informations, veuillez consulter 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 de plus amples informations, veuillez consulter Point de terminaison du serveur d’API du cluster.
Exigences relatives aux nœuds
-
Self-managed Les nœuds Linux et Windows doivent inclure les arguments bootstrap suivants avant d'être lancés. 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-clusterpar 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-clusterpar 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 les valeurs de
apiServerEndpointetcertificateAuthoritydans l' NodeConfig objet par les valeurs renvoyées dans la sortie des commandes précédentes. Pour plus d'informations sur la spécification d'arguments bootstrap lors du lancement de nœuds Amazon Linux 2023 autogérés, consultez Créer des nœuds Amazon Linux autogérés et. Créer des nœuds Microsoft Windows autogérés-
Pour les nœuds Linux :
--- MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" --BOUNDARY Content-Type: application/node.eks.aws --- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-cluster apiServerEndpoint: [.replaceable]https://EXAMPLE108C897D9B2F1B21D5EXAMPLE.sk1.region-code.eks.amazonaws.com certificateAuthority: [.replaceable]Y2VydGlmaWNhdGVBdXRob3JpdHk= ...Pour des arguments supplémentaires, consultez le script bootstrap
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. Sinon, la résolution DNS pour les pods dans le cluster échouera.-APIServerEndpoint cluster-endpoint -Base64ClusterCA certificate-authorityPour des arguments supplémentaires, consultez Paramètres de configuration du script d'amorçage.
-
-
-
Le
aws-authConfigMapde votre cluster doit être créé à partir de votre VPC. Pour plus d'informations sur la création et l'ajout d'entrées dans laConfigMapaws-auth, entrezeksctl create iamidentitymapping --helpdans votre terminal. Si leConfigMapn’existe pas sur votre serveur,eksctlle créera lorsque vous utiliserez la commande pour ajouter un mappage d’identité.
Exigences relatives aux pods
-
Identité du pod : les pods configurés avec l’identité du pod EKS obtiennent leurs informations d’identification à partir de l’API EKS Auth. S’il n’y a pas d’accès Internet sortant, vous devez créer et utiliser un point de terminaison d’un VPC pour l’API EKS Auth :
com.amazonaws.region-code.eks-auth. Pour plus d’informations sur les points de terminaison d’un VPC EKS et EKS Auth, consultez Accédez à Amazon EKS à l'aide de AWS PrivateLink. -
IRSA - Les pods configurés avec des rôles IAM pour les comptes de service obtiennent 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
v1SDK utilisent le point de terminaison AWS STS 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 terminaison AWS STS régional ()sts.. Pour de plus amples informations, veuillez consulter Configurez le AWS Point de terminaison Security Token Service pour un compte de service.region-code.amazonaws.com.rproxy.goskope.comPour configurer IRSA, vous devez également accéder au point de discovery/JWKS terminaison OIDC du cluster depuis le VPC. Par exemple, vous y accédez lorsque vous créez le fournisseur d'identité IAM OIDC du cluster ou que vous exécutez vos propres validateurs de jetons. S'il n'y a pas d'accès Internet sortant, créez et utilisez un point de terminaison VPC pour le point de terminaison OIDC du cluster :.
com.amazonaws.Il est distinct du point de terminaison AWS STS VPC. STS extrait le JWKS du cluster depuis l'intérieur AWS, de sorte que le point de terminaison OIDC privatise votre VPC-originated trafic OIDC, tandis que le point de terminaison STS privatise l'appel.region-code.oidc-eksAssumeRoleWithWebIdentityPour de plus amples informations, veuillez consulter Accédez au point de terminaison OIDC du cluster à l'aide de AWS PrivateLink. -
Les sous-réseaux VPC de votre cluster doivent disposer d'un point de terminaison d'interface VPC pour tous les AWS services auxquels vos Pods ont besoin d'accéder. Pour plus d'informations, consultez Accéder à un AWS service à l'aide d'un point de terminaison 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 .
Nous vous recommandons d'activer les noms DNS privés pour vos points de terminaison VPC, afin que les charges de travail puissent continuer à utiliser les points de terminaison du AWS service public sans problème.
Service Endpoint 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 et com.amazonaws.region-code.s3Application Load Balancers et Network Load Balancers Amazon
com.amazonaws.
region-code. équilibrage de charge élastique(Facultatif) AWS X-Ray (obligatoire pour le suivi envoyé à AWS X-Ray)
com.amazonaws.
region-code.xray(Facultatif) Amazon SSM (requis pour l’agent SSM pour les tâches de gestion des nœuds. Alternative à SSH)
com.amazonaws.
region-code.ssmAmazon CloudWatch Logs (obligatoire pour les journaux de nœuds et de pods envoyés à Amazon CloudWatch Logs)
com.amazonaws.
region-code.journauxAWS Service de jetons de sécurité (obligatoire lors de l'utilisation de rôles IAM pour les comptes de service)
com.amazonaws.
region-code.stsPoint de terminaison OIDC du cluster Amazon EKS (requis pour configurer les rôles IAM pour les comptes de service depuis le VPC)
com.amazonaws.
region-code.oid-eksAmazon EKS Auth (requis lors de l’utilisation d’associations d’identités du pod)
com.amazonaws.
region-code.eks-authAmazon EKS
com.amazonaws.
region-code.eksAmazon Route 53
com.amazonaws.route53
-
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.
-
Stockage EFS : si vos pods utilisent des volumes Amazon EFS, avant de déployer le système de fichiers Store an elastic avec Amazon EFS, le fichier kustomization.yaml
du pilote doit être modifié pour configurer les images de conteneur afin qu'elles utilisent la même AWS région que le cluster Amazon EKS. -
Si vous utilisez l’AMI optimisée EKS, vous devez activer le point de terminaison
ec2dans le tableau ci-dessus. Vous pouvez également définir manuellement le nom DNS du nœud. L’AMI optimisée utilise les API EC2 pour définir automatiquement le nom DNS du nœud. -
Vous pouvez utiliser le AWS Load Balancer Controller pour 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-wafetenable-wafv2sur false. La détection de certificatsavec des noms d’hôte provenant d’objets Ingress n’est pas prise en charge. Cela est dû au fait que le contrôleur doit atteindre le gestionnaire de AWS certificats, 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 Routage du trafic des applications et du trafic HTTP avec des équilibreurs de charge Application Load Balancer 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, voir Utiliser la liste d'instances statiquessur GitHub. Le VPC du nœud de travail doit également inclure le point de terminaison AWS STS VPC et le point de terminaison VPC à mise à l'échelle automatique. -
Certains produits logiciels de conteneur utilisent des appels d'API qui accèdent au service de mesure AWS Marketplace 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.