Déployez des clusters privés avec un accès Internet limité - Amazon EKS

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.

Vous souhaitez contribuer à ce guide de l'utilisateur ? Choisissez le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page. 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 sur AWS Outposts, consultezCréez des nœuds Amazon Linux sur AWS Outposts, au lieu de cette rubrique.

Si vous n'êtes pas familier avec le réseau Amazon EKS, consultez Démystifier le réseau de clusters pour les nœuds de travail Amazon EKS. Si votre cluster ne dispose pas d'un 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 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 Contrôlez l'accès réseau au point de terminaison du serveur API du cluster.

  • Autogéré Linux and Windows les nœuds doivent inclure les arguments bootstrap suivants avant d'être lancés. Ces arguments contournent l'introspection d'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 Créez des nœuds Amazon Linux autogérés et Créez une solution autogérée Microsoft Windows nœuds.

      • Dans Linux nœuds :

        --apiserver-endpoint cluster-endpoint --b64-cluster-ca certificate-authority

        Pour des arguments supplémentaires, consultez le script bootstrap sur GitHub.

      • Dans Windows nœuds :

        Note

        Si vous utilisez un service CIDR personnalisé, vous devez le spécifier à l'aide du -ServiceCIDR paramètre. Dans le cas contraire, la résolution DNS pour 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.

  • Votre cluster aws-auth ConfigMap doit être créé 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. S'il ConfigMap n'existe pas sur votre serveur, il le eksctl créera lorsque vous utiliserez la commande pour ajouter un mappage d'identité.

  • Pods configurés avec des rôles IAM pour les comptes de service obtiennent des informations d'identification à partir d'un appel d'API du 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 VPC AWS STS dans votre VPC. La plupart AWS v1 SDKs utilisent le point de terminaison AWS STS global par défaut (sts.amazonaws.com), qui n'utilise pas le point de terminaison VPC AWS STS. Pour utiliser le point de terminaison VPC AWS STS, vous devrez peut-être configurer votre SDK pour utiliser le point de terminaison AWS STS régional (). sts.region-code.amazonaws.com Pour de plus amples informations, veuillez consulter Configurer le point de terminaison du service AWS Security Token pour un compte de service.

  • Les sous-réseaux VPC de votre cluster doivent disposer d'un point de terminaison d'interface VPC pour tous les services que votre AWS 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 de AWS service public sans problème.

    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 et com.amazonaws. region-code.s3

    Équilibreurs de charge Application Load Balancer et Network Load Balancer

    com.amazonaws. region-code. équilibrage de charge élastique

    AWS X-Ray

    com.amazonaws. region-code.xray

    Amazon CloudWatch Logs

    com.amazonaws. region-code.journaux

    AWS Service de jeton de sécurité (obligatoire lors de l'utilisation de rôles IAM pour les comptes de service)

    com.amazonaws. region-code.sts

  • 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 vos recettes Pods utilisez les volumes Amazon EFS, puis avant de déployer le Store, un système de fichiers élastique avec Amazon EFS, le fichier kustomization.yaml du pilote doit être modifié pour que les images du conteneur utilisent la AWS même région que le cluster Amazon EKS.

  • Vous pouvez utiliser le AWS Load Balancer Controller pour déployer des équilibreurs de charge AWS d'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. La découverte de certificats à l'aide de noms d'hôtes provenant d'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 Cluster Autoscaler Pods, assurez-vous que la ligne de commande inclut--aws-use-static-instance-list=true. Pour plus d'informations, voir Utiliser une liste d'instances statiques sur GitHub. Le VPC du nœud de travail doit également inclure le point de terminaison VPC STS et le point de AWS terminaison VPC à mise à l'échelle automatique.

  • Certains 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 des clusters privés.