Configuration de l'agent d'identité Amazon EKS Pod - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. 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.

Configuration de l'agent d'identité Amazon EKS Pod

Les associations de l’identité du pod Amazon EKS offrent une capacité de gestion des informations d’identification à utiliser pour les applications, de la même façon que les profils d’instance Amazon EC2 fournissent des informations d’identification aux instances EC2.

L’identité du pod Amazon EKS fournit des informations d’identification à vos charges de travail avec une API d’authentification EKS supplémentaire et un pod d’agent qui s’exécute sur chaque nœud.

Considérations

  • IPv6

    Par défaut, l'agent EKS Pod Identity écoute sur une IPv6 adresse IPv4 et les pods pour demander des informations d'identification. L'agent utilise l'adresse IP de bouclage (localhost) 169.254.170.23 pour IPv4 et l'adresse IP localhost pour. [fd00:ec2::23] IPv6

    Si vous désactivez IPv6 des adresses ou si vous empêchez les adresses IPv6 IP de l'hôte local, l'agent ne peut pas démarrer. Pour démarrer l'agent sur des nœuds qui ne peuvent pas être utilisésIPv6, suivez les étapes décrites Désactiver IPv6 dans l'agent d'identité EKS Pod pour désactiver la IPv6 configuration.

Création d’un agent d’identité du pod Amazon EKS

Conditions préalables pour l’agent

  • Un cluster Amazon EKS existant. Pour en déployer un, consultez Démarrer avec Amazon EKS. La version du cluster et la version de plateforme doivent être identiques ou ultérieures aux versions répertoriées dans Versions du cluster de l’identité du pod EKS.

  • Le rôle de nœud dispose d’autorisations permettant à l’agent d’effectuer l’action AssumeRoleForPodIdentity dans l’API d’authentification EKS. Vous pouvez utiliser l’action AWS politique gérée : Amazoneks WorkerNodePolicy ou ajouter une politique personnalisée similaire à la suivante :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" } ] }

    Cette action peut être limitée par des balises pour restreindre les rôles qui peuvent être assumés par les pods qui utilisent l’agent.

  • Les nœuds peuvent atteindre et télécharger des images à partir d’Amazon ECR. L’image du conteneur pour le module complémentaire se trouve dans les registres répertoriés dans Registres d'images de conteneur Amazon.

    Notez que vous pouvez modifier l'emplacement de l'image et imagePullSecrets prévoir des modules complémentaires EKS dans les paramètres de configuration facultatifs du AWS Management Console, et --configuration-values dans le AWS CLI.

  • Les nœuds peuvent accéder à l’API d’authentification Amazon EKS. Pour les clusters privés, le eks-auth point de terminaison AWS PrivateLink est obligatoire.

AWS Management Console
  1. Ouvrez la console Amazon EKS à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

  2. Dans le panneau de navigation de gauche, sélectionnez Clusters, puis sélectionnez le nom du cluster pour lequel vous souhaitez configurer le module complémentaire l’agent d’identité du pod EKS.

  3. Choisissez l'onglet Modules complémentaires.

  4. Choisissez Obtenez plus de modules complémentaires.

  5. Cochez la case en haut à droite du module complémentaire de l’agent d’identité du pod EKS, puis sélectionnez Suivant.

  6. Sur la page Configurer les paramètres de modules complémentaires sélectionnés, sélectionnez n’importe quelle Version dans la liste déroulante Version.

  7. (Facultatif) Développez les Paramètres de configuration facultatifs pour entrer une configuration supplémentaire. Par exemple, vous pouvez fournir un autre emplacement d’image de conteneur et ImagePullSecrets. Le JSON Schema avec les clés acceptées est indiqué dans Schéma de configuration du module complémentaire.

    Saisissez les clés et les valeurs de configuration dans Valeurs de configuration.

  8. Choisissez Suivant.

  9. Confirmez que les pods de l’agent d’identité du pod EKS sont en cours d’exécution sur votre cluster.

    kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'

    L'exemple qui suit illustre un résultat.

    eks-pod-identity-agent-gmqp7                                          1/1     Running   1 (24h ago)   24h
    eks-pod-identity-agent-prnsh                                          1/1     Running   1 (24h ago)   24h

    Vous pouvez maintenant utiliser les associations d’identité du pod EKS dans votre cluster. Pour plus d’informations, consultez Configurer un compte Kubernetes de service pour qu'il assume un rôle IAM avec EKS Pod Identity.

AWS CLI
  1. Exécutez la AWS CLI commande suivante. Remplacez my-cluster par le nom de votre cluster.

    aws eks create-addon --cluster-name my-cluster --addon-name eks-pod-identity-agent --addon-version v1.0.0-eksbuild.1
    Note

    L’agent d’identité du pod EKS n’utilise pas le service-account-role-arn pour les rôles IAM des comptes de service. Vous devez fournir à l’agent d’identité du pod EKS des autorisations dans le rôle de nœud.

  2. Confirmez que les pods de l’agent d’identité du pod EKS sont en cours d’exécution sur votre cluster.

    kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'

    L'exemple qui suit illustre un résultat.

    eks-pod-identity-agent-gmqp7                                          1/1     Running   1 (24h ago)   24h
    eks-pod-identity-agent-prnsh                                          1/1     Running   1 (24h ago)   24h

    Vous pouvez maintenant utiliser les associations d’identité du pod EKS dans votre cluster. Pour plus d’informations, consultez Configurer un compte Kubernetes de service pour qu'il assume un rôle IAM avec EKS Pod Identity.

Mise à jour de l’agent d’identité du pod Amazon EKS

Mettez à jour le type de module complémentaire Amazon EKS. Si vous n’avez pas ajouté le type Amazon EKS du module complémentaire à votre cluster, consultez Création d’un agent d’identité du pod Amazon EKS.

AWS Management Console
  1. Ouvrez la console Amazon EKS à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

  2. Dans le panneau de navigation de gauche, sélectionnez Clusters, puis sélectionnez le nom du cluster pour lequel vous souhaitez configurer le module complémentaire l’agent d’identité du pod EKS.

  3. Choisissez l'onglet Modules complémentaires.

  4. Si une nouvelle version du module complémentaire est disponible, l’agent d’identité du pod EKS dispose d’un bouton Mettre à jour la version. Sélectionnez Mettre à jour la version.

  5. Sur la page Configurer l’agent d’identité du pod Amazon EKS, sélectionnez la nouvelle version dans la liste déroulante Version.

  6. Sélectionnez Enregistrer les modifications.

    La mise à jour peut prendre plusieurs secondes. Ensuite, vérifiez que la version du module complémentaire a été mise à jour en contrôlant le Statut.

AWS CLI
  1. Déterminez la version du module complémentaire actuellement installée sur votre cluster. Remplacez my-cluster par le nom de votre cluster.

    aws eks describe-addon --cluster-name my-cluster --addon-name eks-pod-identity-agent --query "addon.addonVersion" --output text

    L'exemple qui suit illustre un résultat.

    v1.0.0-eksbuild.1

    Vous devez créer le module complémentaire avant de pouvoir le mettre à jour à l'aide de cette procédure.

  2. Mettez à jour votre module complémentaire à l'aide de la AWS CLI. Si vous souhaitez utiliser la AWS Management Console ou eksctl pour mettre à jour le module complémentaire, consultez la rubrique Mise à jour d'un module complémentaire. Copiez la commande qui suit sur votre appareil. Si nécessaire, apportez les modifications suivantes à la commande, puis exécutez la commande modifiée.

    • Remplacez my-cluster par le nom de votre cluster.

    • Remplacez v1.0.0-eksbuild.1 par la version que vous souhaitez.

    • Remplacez 111122223333 par votre ID de compte.

    • Exécutez la commande suivante :

      aws eks update-addon --cluster-name my-cluster --addon-name eks-pod-identity-agent --addon-version v1.0.0-eksbuild.1'

      La mise à jour peut prendre plusieurs secondes.

  3. Assurez-vous que la version du module complémentaire a été mise à jour. Remplacez my-cluster par le nom de votre cluster.

    aws eks describe-addon --cluster-name my-cluster --addon-name eks-pod-identity-agent

    La mise à jour peut prendre plusieurs secondes.

    L'exemple qui suit illustre un résultat.

    { "addon": { "addonName": "eks-pod-identity-agent", "clusterName": "my-cluster", "status": "ACTIVE", "addonVersion": "v1.0.0-eksbuild.1", "health": { "issues": [] }, "addonArn": "arn:aws:eks:region:111122223333:addon/my-cluster/eks-pod-identity-agent/74c33d2f-b4dc-8718-56e7-9fdfa65d14a9", "createdAt": "2023-04-12T18:25:19.319000+00:00", "modifiedAt": "2023-04-12T18:40:28.683000+00:00", "tags": {} } }

Configuration de l'agent d'identité EKS Pod

Désactiver IPv6 dans l'agent d'identité EKS Pod

AWS Management Console
Désactiver IPv6 dans AWS Management Console
  1. Pour le désactiver IPv6 dans l'agent EKS Pod Identity, ajoutez la configuration suivante aux paramètres de configuration facultatifs du module complémentaire EKS.

    1. Ouvrez la console Amazon EKS à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

    2. Dans le panneau de navigation de gauche, sélectionnez Clusters, puis sélectionnez le nom du cluster pour lequel vous souhaitez configurer le module complémentaire.

    3. Choisissez l'onglet Modules complémentaires.

    4. Cochez la case en haut à droite du module complémentaire EKS Pod Identity Agent, puis choisissez Modifier.

    5. Sur la page Configurer l'agent d'identité EKS Pod :

      1. Sélectionnez la version que vous souhaitez utiliser. Nous vous recommandons de conserver la même version que celle de l'étape précédente et de mettre à jour la version et la configuration dans le cadre d'actions distinctes.

      2. Sélectionnez Paramètres de configuration facultatifs.

      3. Entrez la clé JSON "agent": et la valeur d'un objet JSON imbriqué avec une clé "additionalArgs": dans Valeurs de configuration. Le texte obtenu doit être un objet JSON valide. Si cette clé et cette valeur sont les seules données de la zone de texte, entourez-les d'accolades {}. L'exemple suivant montre que la politique réseau est activée :

        { "agent": { "additionalArgs": { "-b": "169.254.170.23" } } }

        Cette configuration définit l'IPv4adresse comme étant la seule adresse utilisée par l'agent.

    6. Pour appliquer la nouvelle configuration en remplaçant les modules EKS Pod Identity Agent, choisissez Enregistrer les modifications.

      Amazon EKS applique les modifications aux modules complémentaires EKS en déployant l'agent d'identité Kubernetes DaemonSet pour EKS Pod. Vous pouvez suivre l'état du déploiement dans l'historique des mises à jour du module complémentaire dans AWS Management Console et aveckubectl rollout status daemonset/eks-pod-identity-agent --namespace kube-system.

      kubectl rolloutpossède les commandes suivantes :

      $ kubectl rollout history -- View rollout history pause -- Mark the provided resource as paused restart -- Restart a resource resume -- Resume a paused resource status -- Show the status of the rollout undo -- Undo a previous rollout

      Si le déploiement prend trop de temps, Amazon EKS annulera le déploiement et un message indiquant le type de mise à jour de l'extension et le statut Echec sera ajouté à l'historique des mises à jour de l'extension. Pour étudier les problèmes éventuels, commencez par l'historique du déploiement et exécutez-le kubectl logs sur un pod EKS Pod Identity Agent pour consulter les journaux d'EKS Pod Identity Agent.

  2. Si la nouvelle entrée dans l'historique des mises à jour a le statut Successful, le déploiement est terminé et le module complémentaire utilise la nouvelle configuration dans tous les pods EKS Pod Identity Agent.

AWS CLI
Désactiver IPv6 dans AWS CLI
  • Pour le désactiver IPv6 dans l'agent EKS Pod Identity, ajoutez la configuration suivante aux valeurs de configuration du module complémentaire EKS.

    Exécutez la AWS CLI commande suivante. Remplacez my-cluster par le nom de votre cluster et l'ARN du rôle IAM par le rôle que vous utilisez.

    aws eks update-addon --cluster-name my-cluster --addon-name eks-pod-identity-agent \ --resolve-conflicts PRESERVE --configuration-values '{"agent":{"additionalArgs": { "-b": "169.254.170.23"}}}'

    Cette configuration définit l'IPv4adresse comme étant la seule adresse utilisée par l'agent.

    Amazon EKS applique les modifications aux modules complémentaires EKS en déployant l'agent d'identité Kubernetes DaemonSet pour EKS Pod. Vous pouvez suivre l'état du déploiement dans l'historique des mises à jour du module complémentaire dans AWS Management Console et aveckubectl rollout status daemonset/eks-pod-identity-agent --namespace kube-system.

    kubectl rolloutpossède les commandes suivantes :

    kubectl rollout history -- View rollout history pause -- Mark the provided resource as paused restart -- Restart a resource resume -- Resume a paused resource status -- Show the status of the rollout undo -- Undo a previous rollout

    Si le déploiement prend trop de temps, Amazon EKS annulera le déploiement et un message indiquant le type de mise à jour de l'extension et le statut Echec sera ajouté à l'historique des mises à jour de l'extension. Pour étudier les problèmes éventuels, commencez par l'historique du déploiement et exécutez-le kubectl logs sur un pod EKS Pod Identity Agent pour consulter les journaux d'EKS Pod Identity Agent.