Exigences relatives aux clusters privés - Amazon EKS

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.

Exigences relatives aux clusters privés

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, consultezLancement de nœuds Amazon Linux autogérés sur un Outpost, 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. Si votre cluster n'a pas d'accès Internet sortant, il doit répondre aux exigences suivantes :

  • 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ôle d'accès au point de terminaison du cluster Amazon EKS..

  • 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.

    1. 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 text

      L'exemple qui suit illustre un résultat.

      https://EXAMPLE108C897D9B2F1B21D5EXAMPLE.sk1.region-code.eks.amazonaws.com
    2. 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 text

      La sortie renvoyée est une longue chaîne.

    3. Remplacez cluster-endpoint et certificate-authority 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 Lancement de nœuds Amazon Linux autogérés et Lancement de nœuds Windows autogérés.

    • Pour les nœuds Linux :

      --apiserver-endpoint cluster-endpoint --b64-cluster-ca certificate-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 -Base64ClusterCA certificate-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 la ConfigMap aws-auth, entrez eksctl create iamidentitymapping --help dans votre terminal. Si la ConfigMap 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'existe aucun 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.region-code.amazonaws.com Pour plus d’informations, consultez Configuration du AWS Security Token Service point de terminaison pour un compte de service.

  • Les sous-réseaux VPC de votre cluster doivent avoir un point de terminaison de l'interface VPC pour toutes les Services AWS 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.ec2
    Amazon 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.elasticloadbalancing
    AWS X-Ray com.amazonaws.region-code.xray
    Amazon CloudWatch Logs com.amazonaws.region-code.logs
    AWS 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éployerPilote CSI 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 et enable-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 Répartition de la charge des applications sur Amazon EKS 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 statiques sur 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.