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.
Rôle IAM de nœud Amazon EKS
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 gérée `Amazoneks_CNI_Policy` (si vous avez créé votre cluster avec la famille `) ou IPv6 une politique que vous créez (si vous avez créé votre cluster avec IPv4 la famille).
IPv6
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 Amazon EKS Pod rôle d'exécution IAM.
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'associer à un rôle IAM mappé au
aws-node
Kubernetes compte de service à la place. 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é à
aws-node
Kubernetes compte de service. Nous vous recommandons d'attribuer la politique au rôle associé au Kubernetes compte de service au lieu de l'attribuer à 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 Kubernetes
aws-node
compte de service utilisé pour Amazon VPC CNI plugin for Kubernetes. Nous vous recommandons d'attribuer la politique au rôle associé au Kubernetes compte de service. Pour attribuer la politique au rôle associé au Kubernetes compte de service, voirConfigurer 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
-
-
-