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 sur 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.
Le kubelet
démon du nœud Amazon EKS effectue des appels AWS APIs en votre nom. Les nœuds reçoivent l'autorisation pour ces appels d'API via un profil d'instance IAM et les politiques associées. Avant de pouvoir lancer les nœuds et les enregistrer dans un cluster, vous devez créer un rôle IAM qui sera utilisé par ces nœuds lors de leur lancement. Cette exigence s'applique aux nœuds lancés avec l'AMI optimisée Amazon EKS fournie par Amazon, ou avec tout autre nœud AMIs que vous avez l'intention d'utiliser. En outre, cette exigence s'applique à la fois aux groupes de nœuds gérés et aux nœuds autogérés.
Note
Vous ne pouvez pas utiliser le même rôle que celui utilisé pour créer des clusters.
Avant de créer des nœuds, vous devez créer un rôle IAM avec les autorisations suivantes :
-
Autorisations permettant
kubelet
de décrire les EC2 ressources Amazon dans le VPC, telles que prévues par la politique d'Amazon EKSWorker NodePolicy. Cette politique fournit également les autorisations pour l'agent d'identité du pod Amazon EKS. -
Autorisations relatives
kubelet
à l'utilisation d'images de conteneurs issues d'Amazon Elastic Container Registry (Amazon ECR), telles que prévues par la politique d'Amazon. EC2 ContainerRegistryPullOnly Les autorisations d'utiliser des images de conteneurs provenant d'Amazon Elastic Container Registry (Amazon ECR) sont nécessaires parce que les modules complémentaires intégrés pour la mise en réseau exécutent des pods qui utilisent des images de conteneurs provenant d'Amazon ECR. -
(Facultatif) Autorisations permettant à l'agent d'identité du pod Amazon EKS d'utiliser l'action
eks-auth:AssumeRoleForPodIdentity
pour récupérer les informations d'identification pour les pods. Si vous n'utilisez pas Amazon EKSWorker NodePolicy, vous devez fournir cette autorisation en plus des EC2 autorisations d'utilisation d'EKS Pod Identity. -
(Facultatif) Si vous n'utilisez pas IRSA ou EKS Pod Identity pour accorder des autorisations aux pods VPC CNI, vous devez fournir des autorisations pour le VPC CNI sur le rôle d'instance. Vous pouvez utiliser la politique
AmazonEKS_CNI_Policy
gérée (si vous avez créé votre cluster avec laIPv4
famille) ou une IPv6 politique que vous créez (si vous avez créé votre cluster avec laIPv6
famille). Cependant, plutôt que d'attacher la politique à ce rôle, nous vous recommandons de l'attacher à un rôle distinct utilisé spécifiquement pour le module complémentaire Amazon VPC CNI. Pour plus d'informations sur la création d'un rôle distinct pour le module complémentaire Amazon VPC CNI, veuillez consulter Configurer le plug-in Amazon VPC CNI pour utiliser IRSA.
Note
Les groupes de EC2 nœuds Amazon doivent avoir un rôle IAM différent de celui du profil Fargate. Pour de plus amples informations, veuillez consulter Rôle IAM d'exécution d'Amazon EKS Pod.
Recherche d'un rôle de nœud existant
Vous pouvez utiliser la procédure suivante pour vérifier si votre compte possède déjà le rôle de nœud Amazon EKS.
-
Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le volet de navigation de gauche, choisissez Rôles.
-
Recherchez
eksNodeRole
,AmazonEKSNodeRole
ouNodeInstanceRole
dans la liste des rôles. Si aucun rôle portant l'un de ces noms n'existe, reportez-vous Création du rôle IAM de nœud Amazon EKS à la section Création du rôle. Si un rôle qui contienteksNodeRole
,AmazonEKSNodeRole
ouNodeInstanceRole
existe, sélectionnez-le pour afficher les politiques attachées. -
Choisissez Autorisations.
-
Assurez-vous que les politiques EC2 ContainerRegistryPullOnly gérées par Amazon EKSWorker NodePolicy et Amazon sont associées au rôle ou qu'une politique personnalisée est attachée avec les autorisations minimales.
Note
Si la politique AmazonEKS_CNI_Policy est attachée au rôle, nous vous recommandons de la supprimer et de l'attacher à un rôle IAM qui est plutôt mappé au compte de service
aws-node
Kubernetes. Pour de plus amples informations, veuillez consulter Configurer le plug-in Amazon VPC CNI pour utiliser IRSA. -
Sélectionnez l'onglet Trust relationships (Relations d'approbation), puis Edit trust policy (Modifier la relation d'approbation).
-
Vérifiez que la relation d'approbation contient la politique suivante. Si la relation d'approbation correspond à la politique ci-dessous, sélectionnez Annuler. Si la relation de confiance ne correspond pas, copiez la politique dans la fenêtre Modifier la politique de confiance et choisissez Mettre à jour la politique.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] }
Création du rôle IAM de nœud Amazon EKS
Vous pouvez créer le rôle IAM du nœud à l'aide de la AWS Management Console ou de la AWS CLI.
- AWS Management Console
-
-
Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le volet de navigation de gauche, choisissez Rôles.
-
Sur la page Rôles, choisissez Créer un rôle.
-
Sur la page Select trusted entity (Sélectionner une entité de confiance), procédez comme suit :
-
Dans la section Type d'entité fiable, sélectionnez AWS service.
-
Sous Use case (Cas d'utilisation), choisissez EC2.
-
Choisissez Suivant.
-
-
Sur la page Ajouter des autorisations, associez une stratégie personnalisée ou procédez comme suit :
-
Dans la zone Filter policies (Politiques de filtre), saisissez
AmazonEKSWorkerNodePolicy
. -
Cochez la case située à gauche d'Amazon EKSWorker NodePolicy dans les résultats de recherche.
-
Sélectionnez Clear filters (Effacer les filtres).
-
Dans la zone Filter policies (Politiques de filtre), saisissez
AmazonEC2ContainerRegistryPullOnly
. -
Cochez la case située à gauche d'Amazon EC2 ContainerRegistryPullOnly dans les résultats de recherche.
La politique gérée Amazoneks_CNI_Policy ou une politique que vous créez doit également être attachée à ce rôle ou à IPv6 un autre rôle mappé au compte de service Kubernetes.
aws-node
Nous vous recommandons d'attribuer la politique au rôle associé au compte de service Kubernetes au lieu de l'affecter à ce rôle. Pour de plus amples informations, veuillez consulter Configurer le plug-in Amazon VPC CNI pour utiliser IRSA. -
Choisissez Suivant.
-
-
Sur la page Name, review, and create (Nommer, vérifier et créer), procédez comme suit :
-
Pour Role name (Nom de rôle), saisissez un nom unique pour votre rôle, par exemple,
AmazonEKSNodeRole
. -
Pour Description, remplacez le texte actuel par un texte descriptif tel que
Amazon EKS - Node role
. -
Sous Ajouter des balises (Facultatif), ajoutez des métadonnées au rôle en attachant les identifications sous forme de paires clé-valeur. Pour plus d'informations sur l'utilisation des balises dans IAM, consultez la rubrique Balisage des ressources IAM dans le Guide de l'utilisateur IAM.
-
Sélectionnez Créer un rôle.
-
-
- AWS CLI
-
-
Exécutez la commande ci-dessous pour créer un fichier
node-role-trust-relationship.json
.cat >node-role-trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] } EOF
-
Créez le rôle IAM.
aws iam create-role \ --role-name AmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-relationship.json"
-
Attachez deux politiques gérées IAM requises au rôle IAM.
aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name AmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly \ --role-name AmazonEKSNodeRole
-
Attachez l'une des politiques IAM suivantes au rôle IAM en fonction de la famille IP avec laquelle vous avez créé votre cluster. La politique doit être attachée à ce rôle ou à un rôle associé au compte de
aws-node
service Kubernetes utilisé pour le plug-in Amazon VPC CNI pour Kubernetes. Nous vous recommandons d'attribuer la politique au rôle associé au compte de service Kubernetes. Pour attribuer la politique au rôle associé au compte de service Kubernetes, veuillez consulter Configurer le plug-in Amazon VPC CNI pour utiliser IRSA.-
IPv4
aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name AmazonEKSNodeRole
-
IPv6
-
Copiez la politique suivante et enregistrez-la dans un fichier appelé
vpc-cni-ipv6-policy.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignIpv6Addresses", "ec2:DescribeInstances", "ec2:DescribeTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeInstanceTypes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws: ec2:*:*:network-interface/*" ] } ] }
-
Créez la politique IAM.
aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
-
Attachez la politique IAM au rôle IAM. Remplacez
111122223333
par votre ID de compte.aws iam attach-role-policy \ --policy-arn arn:aws: iam::111122223333:policy/AmazonEKS_CNI_IPv6_Policy \ --role-name AmazonEKSNodeRole
-
-
-