Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
Créer un module complémentaire Amazon EKS
Les modules complémentaires Amazon EKS sont des logiciels complémentaires destinés aux clusters Amazon EKS. Tous les modules complémentaires Amazon EKS :
-
Inclure les derniers correctifs de sécurité et corrections de bogues.
-
Sont validés par AWS pour fonctionner avec Amazon EKS.
-
Réduire la charge de travail nécessaire à la gestion du logiciel complémentaire.
Vous pouvez créer un module complémentaire Amazon EKS à l’aide de eksctl, AWS Management Console, ou de l’interface CLI AWS. Si le module complémentaire nécessite un rôle IAM, consultez les détails du module complémentaire spécifique dans Amazon EKS add-ons pour plus d’informations sur la création du rôle.
Prérequis
Avant de créer un module complémentaire, procédez comme suit :
-
Le cluster doit exister avant que vous ne puissiez créer un module complémentaire pour celui-ci. Pour de plus amples informations, consultez Création d’un cluster Amazon EKS.
-
Vérifiez si votre module complémentaire nécessite un rôle IAM. Pour de plus amples informations, consultez Vérification de la compatibilité de la version du module complémentaire Amazon EKS avec un cluster.
-
Vérifiez que la version du module complémentaire Amazon EKS est compatible avec votre cluster. Pour de plus amples informations, consultez Vérification de la compatibilité de la version du module complémentaire Amazon EKS avec un cluster.
-
Vérifiez que la version 0.190.0 ou ultérieure de l’outil de ligne de commande
eksctlest installée sur votre ordinateur ou AWS CloudShell. Pour plus d’informations, consultez Installationsur le site Web eksctl.
Procédure
Vous pouvez créer un module complémentaire Amazon EKS à l’aide de eksctl, AWS Management Console, ou de l’interface CLI AWS. Si le module complémentaire nécessite un rôle IAM, consultez les détails du module complémentaire spécifique dans Modules complémentaires Amazon EKS disponibles AWS pour plus d’informations sur la création du rôle.
Créer un module complémentaire (eksctl)
-
Affichez les noms des modules complémentaires disponibles pour une version de cluster. Remplacez
1.33par la version de votre cluster.eksctl utils describe-addon-versions --kubernetes-version 1.33 | grep AddonNameL'exemple qui suit illustre un résultat.
"AddonName": "aws-ebs-csi-driver", "AddonName": "coredns", "AddonName": "kube-proxy", "AddonName": "vpc-cni", "AddonName": "adot", "AddonName": "dynatrace_dynatrace-operator", "AddonName": "upbound_universal-crossplane", "AddonName": "teleport_teleport", "AddonName": "factorhouse_kpow", [...] -
Consultez les versions disponibles pour le module complémentaire que vous souhaitez créer. Remplacez
1.33par la version de votre cluster. Remplacezname-of-addonpar le nom de l’extension dont vous souhaitez afficher les versions. Le nom doit être l’un des noms renvoyés à l’étape précédente.eksctl utils describe-addon-versions --kubernetes-version 1.33 --name name-of-addon | grep AddonVersionLa sortie suivante est un exemple de ce qui est renvoyé pour le module complémentaire nommé
vpc-cni. Vous pouvez voir que le module complémentaire dispose de plusieurs versions disponibles."AddonVersions": [ "AddonVersion": "v1.12.0-eksbuild.1", "AddonVersion": "v1.11.4-eksbuild.1", "AddonVersion": "v1.10.4-eksbuild.1", "AddonVersion": "v1.9.3-eksbuild.1",-
Déterminez si le module complémentaire que vous souhaitez créer est un module complémentaire Amazon EKS ou Marketplace AWS. Le Marketplace AWS propose des modules complémentaires tiers qui nécessitent des étapes supplémentaires pour être créés.
eksctl utils describe-addon-versions --kubernetes-version 1.33 --name name-of-addon | grep ProductUrlSi aucune sortie n'est renvoyée, le module complémentaire est un module Amazon EKS. Si une sortie est renvoyée, alors le module complémentaire est un module complémentaire Marketplace AWS. La sortie suivante concerne un module complémentaire nommé
teleport_teleport."ProductUrl": "https://aws.amazon.com/marketplace/pp?sku=3bda70bb-566f-4976-806c-f96faef18b26"Vous pouvez en savoir plus sur le module dans la Marketplace AWS grâce à l’URL renvoyée. Si l’extension nécessite un abonnement, vous pouvez vous abonner à l’extension via la Marketplace AWS. Si vous souhaitez créer un module complémentaire à partir du Marketplace AWS, le principal IAM que vous utilisez pour créer le module complémentaire doit disposer des autorisations nécessaires pour créer le rôle lié au service AWSServiceRoleForAWSLicenseManagerRole. Pour plus d'informations sur l'attribution d'autorisations à une entité IAM, consultez la rubrique Ajout et suppression d'autorisations basées sur l'identité IAM dans le Guide de l'utilisateur IAM.
-
-
Créez un module complémentaire Amazon EKS. Copiez la commande et remplacez les
user-datacomme suit :-
Remplacez
my-clusterpar le nom de votre cluster. -
Remplacez
name-of-addonpar le nom de l’extension que vous souhaitez créer. -
Si vous souhaitez obtenir une version antérieure à la dernière version de l’extension, remplacez
latestpar le numéro de version indiqué dans le résultat de l’étape précédente que vous souhaitez utiliser. -
Si le module complémentaire utilise un rôle de compte de service, remplacez
111122223333par votre ID de compte et remplacezrole-namepar le nom du rôle. Pour obtenir des instructions sur la création d’un rôle pour votre compte de service, consultez la documentation relative au module complémentaire que vous créez. Pour obtenir la liste des modules complémentaires, consultez Modules complémentaires AWS. Pour spécifier un rôle de compte de service, vous devez disposer d’un fournisseur IAM OpenID Connect (OIDC) pour votre cluster. Pour déterminer si vous en avez un pour votre cluster ou pour en créer un, consultez Créer un fournisseur d'identité OIDC IAM pour votre cluster.Si le module complémentaire n’utilise pas de rôle de compte de service, supprimez
--service-account-role-arnarn:aws:iam::111122223333:role/role-name. -
Cet exemple de commande remplace la configuration de toute version autogérée existante du module complémentaire, le cas échéant. Si vous ne souhaitez pas écraser la configuration d’un module complémentaire autogéré existant, supprimez l’option
--force. Si vous supprimez cette option et que le module complémentaire doit remplacer la configuration d'un module complémentaire autogéré existant, la création du module complémentaire Amazon EKS échoue et vous recevez un message d'erreur pour vous aider à résoudre le conflit. Avant de spécifier cette option, assurez-vous que le module complémentaire Amazon EKS ne gère pas les paramètres que vous devez gérer, car ces paramètres sont remplacés par cette option.eksctl create addon --cluster my-cluster --name name-of-addon --version latest \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name --forceVous pouvez consulter la liste complète des options disponibles pour la commande.
eksctl create addon --helpPour plus d'informations sur les options disponibles, consultez Modules complémentaires
dans la documentation eksctl.
-
Créer un module complémentaire (Console AWS)
-
Ouvrez la console Amazon EKS
. -
Dans le volet de navigation de gauche, choisissez Clusters.
-
Choisissez le nom du cluster pour lequel vous souhaitez créer le module complémentaire.
-
Choisissez l'onglet Modules complémentaires.
-
Choisissez Obtenez plus de modules complémentaires.
-
Sur la page Select add-ons (Sélectionner les modules complémentaires), choisissez les modules complémentaires que vous souhaitez ajouter à votre cluster. Vous pouvez ajouter autant de modules complémentaires Amazon EKS et Marketplace AWS que vous le souhaitez.
Pour les modules complémentaires Marketplace AWS, le principal IAM que vous utilisez pour créer le module complémentaire doit disposer des autorisations nécessaires pour lire les droits d’utilisation du module complémentaire à partir du LicenseManager AWS. AWS LicenseManager nécessite un rôle lié au service (rôle SLR) AWSServiceRoleForAWSLicenseManagerRole qui permet aux ressources AWS de gérer les licences en votre nom. Le SLR est une exigence unique, par compte, et vous n’aurez pas à créer de SLR distincts pour chaque module complémentaire ou chaque cluster. Pour plus d'informations sur l'attribution d'autorisations à un principal IAM, consultez la rubrique Ajout et suppression d'autorisations basées sur l'identité IAM du Guide de l'utilisateur IAM.
Si les modules complémentaires Marketplace AWS que vous souhaitez installer ne figurent pas dans la liste, vous pouvez cliquer sur la numérotation des pages pour afficher les résultats supplémentaires ou effectuer une recherche dans le champ de recherche. Dans les Options de filtrage, vous pouvez également filtrer par catégorie, fournisseur, ou modèle de tarification puis choisir les modules complémentaires dans les résultats de la recherche. Une fois que vous avez sélectionné les modules complémentaires que vous souhaitez installer, cliquez sur Suivant.
-
Sur la page Configurer les paramètres des modules complémentaires sélectionnés, procédez comme suit :
-
Choisissez Afficher les options d'abonnement pour ouvrir le formulaire des Options d'abonnement. Passez en revue les sections Détails de la tarification et Mentions légales, puis cliquez sur le bouton S'abonner pour continuer.
-
Pour la version, choisissez celle que vous souhaitez installer. Nous recommandons la version marquée comme la plus récente, à moins que le module complémentaire que vous créez ne recommande une version différente. Pour déterminer si un module complémentaire dispose d’une version recommandée, consultez la documentation relative au module complémentaire que vous créez. Pour obtenir la liste des modules complémentaires, consultez Modules complémentaires AWS.
-
Vous disposez de deux options pour configurer les rôles des modules complémentaires : le rôle IAM EKS Pod Identities et les rôles IAM pour les comptes de service (IRSA). Suivez l’étape appropriée ci-dessous pour l’option que vous préférez. Si tous les modules complémentaires que vous avez sélectionnés ont la mention Nécessite un abonnement sous Statut, sélectionnez Suivant. Vous ne pouvez pas configurer davantage ces modules complémentaires tant que vous ne vous y êtes pas abonné après la création de votre cluster. Pour les modules complémentaires qui n’ont pas la mention Abonnement requis sous Statut, procédez comme suit :
-
Pour le rôle IAM d’identité de pod pour le compte de service, vous pouvez soit utiliser un rôle IAM d’identité de pod EKS existant, soit en créer un à l’aide du bouton Créer un rôle recommandé. Ce champ ne proposera que les options correspondant à la politique de confiance appropriée. Si aucun rôle n’est sélectionnable, cela signifie qu’aucun rôle existant ne correspond à la politique de confiance. Pour configurer un rôle IAM d’identité de pod EKS pour les comptes de service du module complémentaire sélectionné, choisissez Créer un rôle recommandé. L’assistant de création de rôle s’ouvre dans une fenêtre séparée. L’assistant remplira automatiquement les informations relatives au rôle comme suit. Pour chaque module complémentaire pour lequel vous souhaitez créer le rôle IAM d’identité du pod EKS, suivez les étapes de l’assistant IAM comme suit.
-
À l’étape Sélectionner une entité de confiance, l’option de service AWS pour EKS et le cas d’utilisation pour EKS – Identité du pod sont présélectionnés, et la politique de confiance appropriée sera automatiquement renseignée pour le module complémentaire. Par exemple, le rôle sera créé avec la politique de confiance appropriée contenant le principal IAM pods.eks.amazonaws.com, comme détaillé dans Avantages des identités du pod EKS. Choisissez Suivant.
-
À l’étape Ajouter des autorisations, la stratégie gérée appropriée pour la stratégie de rôle est présélectionnée pour le module complémentaire. Par exemple, pour le module complémentaire Amazon VPC CNI, le rôle sera créé avec la politique gérée
AmazonEKS_CNI_Policytelle que détaillée dans Plugin CNI Amazon VPC pour Kubernetes. Choisissez Suivant. -
À l’étape Nom, révision et création, dans Nom du rôle, le nom de rôle par défaut est automatiquement renseigné pour le module complémentaire. Par exemple, pour le module complémentaire Amazon VPC CNI, le rôle sera créé sous le nom AmazonEKSPodIdentityAmazonVPCCNIRole. Dans Description, la description par défaut est automatiquement remplie avec la description appropriée pour le module complémentaire. Par exemple, pour le module complémentaire Amazon VPC CNI, le rôle sera créé avec la description Permet aux pods s’exécutant dans le cluster Amazon EKS d’accéder aux ressources AWS. Dans la stratégie de confiance, affichez la stratégie de confiance renseignée pour le module complémentaire. Sélectionnez Créer un rôle.
REMARQUE : Conserver le nom de rôle par défaut permet à EKS de présélectionner le rôle pour les modules complémentaires dans les nouveaux clusters ou lors de l’ajout de modules complémentaires à des clusters existants. Vous pouvez toujours remplacer ce nom et le rôle sera disponible pour le module complémentaire dans tous vos clusters, mais il devra être sélectionné manuellement dans le menu déroulant.
-
-
Pour les modules complémentaires qui ne comportent pas la mention Abonnement requis sous Statut et pour lesquels vous souhaitez configurer des rôles à l’aide d’IRSA, consultez la documentation relative au module complémentaire que vous créez afin de créer une politique IAM et de l’associer à un rôle. Pour obtenir la liste des modules complémentaires, consultez Modules complémentaires AWS. Pour sélectionner un rôle IAM, vous devez disposer d’un fournisseur IAM OpenID Connect (OIDC) pour votre cluster. Pour déterminer si vous en avez un pour votre cluster ou pour en créer un, consultez Créer un fournisseur d'identité OIDC IAM pour votre cluster.
-
Sélectionnez Optional configuration settings (Paramètres de configuration facultatifs).
-
Si le module complémentaire nécessite une configuration, saisissez-la dans la zone Configuration values (Valeurs de configuration). Pour déterminer si le module complémentaire nécessite des informations de configuration, consultez la documentation du module complémentaire que vous créez. Pour obtenir la liste des modules complémentaires, consultez Modules complémentaires AWS.
-
Choisissez l’une des options disponibles pour la méthode de résolution des conflits. Si vous sélectionnez Remplacer comme méthode de résolution des conflits, un ou plusieurs paramètres du module complémentaire existant peuvent être remplacés par les paramètres du module complémentaire Amazon EKS. Si vous n’activez pas cette option et qu’il y a un conflit avec vos paramètres existants, l’opération échoue. Vous pouvez utiliser le message d'erreur qui en résulte pour résoudre le conflit. Avant de sélectionner cette option, assurez-vous que le module complémentaire Amazon EKS ne gère pas les paramètres que vous devez gérer vous-même.
-
Si vous souhaitez installer le module complémentaire dans un espace de noms spécifique, saisissez-le dans le champ Espace de noms. Pour les modules complémentaires communautaires AWS, vous pouvez définir un espace de noms Kubernetes personnalisé dans lequel installer le module complémentaire. Pour de plus amples informations, consultez Espace de noms personnalisé pour les modules complémentaires.
-
Choisissez Suivant.
-
-
-
Sur la page Vérifier et ajouter, choisissez Créer. Une fois l'installation des modules complémentaire terminée, vous pouvez voir les modules complémentaires installés.
-
Si l'un des modules complémentaires que vous avez installés nécessite un abonnement, procédez comme suit :
-
Cliquez sur le bouton Subscribe (S'abonner) dans le coin inférieur droit du module complémentaire. Vous êtes redirigé vers la page de l’extension dans le Marketplace AWS. Lisez les informations relatives au module complémentaire, telles que Product Overview (Présentation du produit) et Pricing Information (Informations sur la tarification).
-
Cliquez sur le bouton Continue to Subscribe (Continuer pour s'abonner) en haut à droite de la page du module complémentaire.
-
Lisez les Conditions générales. Si vous les acceptez, sélectionnez Accept Terms (Accepter les conditions). Le traitement de l'abonnement peut prendre plusieurs minutes. Pendant le traitement de l'abonnement, le bouton Return to Amazon EKS Console (Retourner à la console Amazon EKS) est grisé.
-
Une fois le traitement de l'abonnement terminé, le bouton Return to Amazon EKS Console (Retourner à la console Amazon EKS) n'est plus grisé. Cliquez sur le bouton pour revenir à l'onglet Add-ons (Modules complémentaires) de la console Amazon EKS pour votre cluster.
-
Pour le module complémentaire auquel vous êtes abonné, sélectionnez Remove and reinstall (Supprimer et réinstaller), puis Reinstall add-on (Réinstaller le module complémentaire). L'installation du module complémentaire peut prendre plusieurs minutes. Une fois l'installation terminée, vous pouvez configurer le module complémentaire.
-
Créer un module complémentaire (CLI AWS)
-
Vous devez disposer de la version
2.12.3ou ultérieure ou de la version1.27.160ou ultérieure de l’interface de la ligne de commande AWS (AWS CLI) installée et configurée sur votre appareil ou dans AWS CloudShell. Pour vérifier votre version actuelle, utilisezaws --version | cut -d / -f2 | cut -d ' ' -f1. Les gestionnaires de package tels queyum,apt-getou Homebrew pour macOS ont souvent plusieurs versions de retard par rapport à la dernière version de l’AWS CLI. Pour installer la dernière version, consultez les sections Installation et Configuration rapide avec aws configure du Guide de l’utilisateur de l’interface de la ligne de commande AWS. La version de l’AWS CLI installée dans AWS CloudShell peut également être plusieurs versions derrière la dernière version. Pour la mettre à jour, consultez la section Installation de l’AWS CLI dans votre répertoire personnel dans le Guide de l’utilisateur AWS CloudShell. -
Déterminez quels modules complémentaires sont disponibles. Vous pouvez voir tous les modules complémentaires disponibles, leur type et leur éditeur. Vous pouvez également voir l’URL des modules complémentaires disponibles sur le Marketplace AWS. Remplacez
1.33par la version de votre cluster.aws eks describe-addon-versions --kubernetes-version 1.33 \ --query 'addons[].{MarketplaceProductUrl: marketplaceInformation.productUrl, Name: addonName, Owner: owner Publisher: publisher, Type: type}' --output tableL'exemple qui suit illustre un résultat.
--------------------------------------------------------------------------------------------------------------------------------------------------------- | DescribeAddonVersions | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+ | MarketplaceProductUrl | Name | Owner | Publisher | Type | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+ | None | aws-ebs-csi-driver | aws | eks | storage | | None | coredns | aws | eks | networking | | None | kube-proxy | aws | eks | networking | | None | vpc-cni | aws | eks | networking | | None | adot | aws | eks | observability | | https://aws.amazon.com/marketplace/pp/prodview-brb73nceicv7u | dynatrace_dynatrace-operator | aws-marketplace | dynatrace | monitoring | | https://aws.amazon.com/marketplace/pp/prodview-uhc2iwi5xysoc | upbound_universal-crossplane | aws-marketplace | upbound | infra-management | | https://aws.amazon.com/marketplace/pp/prodview-hd2ydsrgqy4li | teleport_teleport | aws-marketplace | teleport | policy-management | | https://aws.amazon.com/marketplace/pp/prodview-vgghgqdsplhvc | factorhouse_kpow | aws-marketplace | factorhouse | monitoring | | [...] | [...] | [...] | [...] | [...] | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+Votre sortie peut être différente. Dans cet exemple de sortie, trois modules complémentaires différents sont disponibles par type
networkinget cinq modules complémentaires avec un éditeur de typeeks. Les modules complémentairesaws-marketplacefigurant dans la colonneOwnerpeuvent nécessiter un abonnement avant de pouvoir être installés. Vous pouvez consulter l'URL pour en savoir plus sur le module complémentaire et vous y abonner. -
Vous pouvez voir quelles versions sont disponibles pour chaque module complémentaire. Remplacez
1.33par la version de votre cluster et remplacezvpc-cnipar le nom d’un module complémentaire renvoyé à l’étape précédente.aws eks describe-addon-versions --kubernetes-version 1.33 --addon-name vpc-cni \ --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output tableL'exemple qui suit illustre un résultat.
------------------------------------------ | DescribeAddonVersions | +-----------------+----------------------+ | Defaultversion | Version | +-----------------+----------------------+ | False | v1.12.0-eksbuild.1 | | True | v1.11.4-eksbuild.1 | | False | v1.10.4-eksbuild.1 | | False | v1.9.3-eksbuild.1 | +-----------------+----------------------+La version avec
Truedans la colonneDefaultversioncorrespond à la version avec laquelle le module complémentaire est créé, par défaut. -
(Facultatif) Recherchez les options de configuration du module complémentaire de votre choix en exécutant la commande suivante :
aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.12.0-eksbuild.1{ "addonName": "vpc-cni", "addonVersion": "v1.12.0-eksbuild.1", "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Cri\":{\"additionalProperties\":false,\"properties\":{\"hostPath\":{\"$ref\":\"#/definitions/HostPath\"}},\"title\":\"Cri\",\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CONFIGURE_RPFILTER\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"HostPath\":{\"additionalProperties\":false,\"properties\":{\"path\":{\"type\":\"string\"}},\"title\":\"HostPath\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"cri\":{\"$ref\":\"#/definitions/Cri\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"VpcCni\",\"type\":\"object\"}}}" }La sortie correspond à un schéma JSON standard.
Voici un exemple de valeurs de configuration valides, au format JSON, fonctionnant avec le schéma ci-dessus.
{ "resources": { "limits": { "cpu": "100m" } } }Voici un exemple de valeurs de configuration valides, au format YAML, fonctionnant avec le schéma ci-dessus.
resources: limits: cpu: 100m -
Déterminez si le module complémentaire nécessite des autorisations IAM. Si tel est le cas, vous devez (1) déterminer si vous souhaitez utiliser les identités de pod EKS ou les rôles IAM pour les comptes de service (IRSA), (2) déterminer l’ARN du rôle IAM à utiliser avec le module complémentaire et (3) déterminer le nom du compte de service Kubernetes utilisé par le module complémentaire. Pour de plus amples informations, consultez Récupérer les informations IAM sur un module complémentaire Amazon EKS.
-
Amazon EKS recommande d’utiliser les identités de pod EKS si le module complémentaire le prend en charge. Pour cela, l’agent d’identité du pod doit être installé sur votre cluster. Pour plus d’informations sur l’utilisation des identités de pod avec les modules complémentaires, consultez Rôles IAM pour les modules complémentaires Amazon EKS.
-
Si le module complémentaire ou votre cluster n’est pas configuré pour les identités de pod EKS, utilisez IRSA. Vérifiez que l’IRSA est configuré sur votre cluster.
-
-
Créez un module complémentaire Amazon EKS. 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-clusterpar le nom de votre cluster. -
Remplacez
vpc-cnipar le nom du module complémentaire renvoyé dans la sortie de l’étape précédente que vous souhaitez créer. -
Remplacez le
numéro de versionpar la version renvoyée dans la sortie de l’étape précédente que vous souhaitez utiliser. -
Si vous souhaitez installer le module complémentaire dans un espace de noms Kubernetes personnalisé, ajoutez l’option
--namespace-config 'namespace=<my-namespace>. Cette option n’est disponible que pour AWS ainsi que les modules complémentaires communautaires. Pour plus d’informations, consultez Espace de noms personnalisé pour les modules complémentaires. -
Si le module complémentaire ne nécessite pas d’autorisations IAM, supprimez
<service-account-configuration>. -
Effectuez l’une des actions suivantes :
-
Si le module complémentaire (1) nécessite des autorisations IAM et (2) que votre cluster utilise les identités du pod EKS, remplacez
<service-account-configuration>par l’association d’identité de pod suivante. Remplacez<service-account-name>par le nom du compte de service utilisé par le module complémentaire. Remplacer<role-arn>par l’ARN d’un rôle IAM. Le rôle doit disposer de la politique de confiance requise par les identités EKS Pod.--pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>' -
Si le module complémentaire (1) nécessite des autorisations IAM et (2) que votre cluster utilise IRSA, remplacez
<service-account-configuration>par la configuration IRSA suivante. Remplacez111122223333par votre ID de compte etrole-namepar le nom d’un rôle IAM existant que vous avez créé. Pour obtenir des instructions sur la création d’un rôle, consultez la documentation du module complémentaire que vous créez. Pour obtenir la liste des modules complémentaires, consultez Modules complémentaires AWS. Pour spécifier un rôle de compte de service, vous devez disposer d’un fournisseur IAM OpenID Connect (OIDC) pour votre cluster. Pour déterminer si vous en avez un pour votre cluster ou pour en créer un, consultez Créer un fournisseur d'identité OIDC IAM pour votre cluster.--service-account-role-arn arn:aws::iam::111122223333:role/role-name
-
-
Cet exemple de commande remplace l'option
--configuration-valuesde toute version autogérée existante du module complémentaire, le cas échéant. Remplacez cela par les valeurs de configuration souhaitées, telles qu'une chaîne ou une entrée de fichier. Si vous ne voulez pas fournir de valeurs de configuration, supprimez l’option--configuration-values. Si vous ne souhaitez pas que l’interface CLI AWS écrase la configuration d’un module complémentaire autogéré existant, supprimez l’option--resolve-conflicts OVERWRITE. Si vous supprimez cette option et que le module complémentaire doit remplacer la configuration d'un module complémentaire autogéré existant, la création du module complémentaire Amazon EKS échoue et vous recevez un message d'erreur pour vous aider à résoudre le conflit. Avant de spécifier cette option, assurez-vous que le module complémentaire Amazon EKS ne gère pas les paramètres que vous devez gérer, car ces paramètres sont remplacés par cette option.aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ <service-account-configuration> --configuration-values '{"resources":{"limits":{"cpu":"100m"}}}' --resolve-conflicts OVERWRITEaws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ <service-account-configuration> --configuration-values 'file://example.yaml' --resolve-conflicts OVERWRITEPour la liste complète des options disponibles, consultez
create-addondans la référence des lignes de commande Amazon EKS. Si le module complémentaire que vous avez créé possèdeaws-marketplacelisté dans la colonneOwnerd’une étape précédente, la création peut échouer et vous pouvez recevoir un message d’erreur similaire à l’erreur suivante.{ "addon": { "addonName": "addon-name", "clusterName": "my-cluster", "status": "CREATE_FAILED", "addonVersion": "version", "health": { "issues": [ { "code": "AddonSubscriptionNeeded", "message": "You are currently not subscribed to this add-on. To subscribe, visit the AWS Marketplace console, agree to the seller EULA, select the pricing type if required, then re-install the add-on" } ] } } }Si vous recevez une erreur similaire à celle de la sortie précédente, consultez l'URL figurant dans la sortie d'une étape précédente pour vous abonner au module complémentaire. Une fois abonné, exécutez à nouveau la commande
create-addon.
-