Modules complémentaires Amazon EKS - Amazon EKS

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.

Modules complémentaires Amazon EKS

Un module complémentaire est un logiciel qui fournit des capacités opérationnelles de prise en charge aux applications Kubernetes, mais qui n'est pas spécifique à l'application. Cela inclut des logiciels tels que les agents d'observabilité ou les pilotes Kubernetes qui permettent au cluster d'interagir avec les ressources AWS sous-jacentes pour la mise en réseau, le calcul et le stockage. Les logiciels complémentaires sont généralement construits et gérés par la communauté Kubernetes, les fournisseurs de cloud tels que AWS ou des fournisseurs tiers. Amazon EKS installe automatiquement des modules complémentaires autogérés tels que le plug-in Amazon VPC CNI pour Kubernetes, kube-proxy, et CoreDNS pour chaque cluster. Notez que le module complémentaire VPC CNI n’est pas compatible avec les nœuds hybrides Amazon EKS et ne se déploie pas sur les nœuds hybrides. Vous pouvez modifier la configuration par défaut des modules complémentaires et les mettre à jour quand vous le souhaitez.

Les modules complémentaires Amazon EKS fournissent l'installation et la gestion d'un ensemble organisé de modules complémentaires pour les clusters Amazon EKS. Tous les modules complémentaires Amazon EKS incluent les derniers correctifs de sécurité et les corrections de bogues. Ils sont validés par AWS pour fonctionner avec Amazon EKS. Les modules complémentaires Amazon EKS vous permettent de garantir systématiquement que vos clusters Amazon EKS sont sécurisés et stables. Ils vous permettent aussi de réduire le travail nécessaire pour installer, configurer et mettre à jour les modules complémentaires. Si un module complémentaire autogéré tel que kube-proxy est déjà en cours d'exécution sur votre cluster et est disponible en tant que module complémentaire Amazon EKS, vous pouvez installer le module complémentaire Amazon EKS kube-proxy pour commencer à bénéficier des fonctionnalités des modules complémentaires Amazon EKS.

Vous pouvez mettre à jour des champs de configuration spécifiques gérés par Amazon EKS pour les modules complémentaires Amazon EKS via l'API Amazon EKS. Une fois le module complémentaire démarré, vous pouvez également modifier les champs de configuration non gérés par Amazon EKS directement dans le cluster Kubernetes. Cela inclut la définition de champs de configuration spécifiques pour un module complémentaire, le cas échéant. Ces modifications ne sont pas remplacées par Amazon EKS une fois qu'elles sont effectuées. Ceci est rendu possible par la fonction apply côté serveur de Kubernetes. Pour de plus amples informations, consultez Déterminez les champs que vous pouvez personnaliser pour les modules complémentaires Amazon EKS.

Vous pouvez utiliser des modules complémentaires Amazon EKS avec n'importe quel type de nœud Amazon EKS. Pour de plus amples informations, consultez Gérer les ressources de calcul à l’aide de nœuds.

Vous pouvez ajouter, mettre à jour ou supprimer des modules complémentaires Amazon EKS à l’aide de l’API Amazon EKS, AWS Management Console, la CLI AWS, et eksctl. Vous pouvez également créer des modules complémentaires Amazon EKS à l’aide de CloudFormation AWS.

Considérations

Tenez compte des éléments suivants lorsque vous utilisez les modules complémentaires Amazon EKS :

  • Pour configurer des modules complémentaires pour le cluster, votre principal IAM doit disposer des autorisations IAM pour utiliser des modules complémentaires. Pour plus d'informations, consultez les actions ayant Addon dans leur nom dans Actions définies par Amazon Elastic Kubernetes Service.

  • Les modules complémentaires Amazon EKS s'exécutent sur les nœuds que vous approvisionnez ou configurez pour votre cluster. Les types de nœuds comprennent les instances Amazon EC2, Fargate et les nœuds hybrides.

  • Vous pouvez modifier les champs qui ne sont pas gérés par Amazon EKS pour personnaliser l’installation d’un module complémentaire Amazon EKS. Pour de plus amples informations, consultez Déterminez les champs que vous pouvez personnaliser pour les modules complémentaires Amazon EKS.

  • Si vous créez un cluster avec le plug-in AWS Management Console, Amazon EKS kube-proxy, Amazon VPC CNI pour Kubernetes et les modules complémentaires CoreDNS Amazon EKS, ceux-ci sont automatiquement ajoutés à votre cluster. Si vous utilisez eksctl pour créer votre cluster avec un fichier config, eksctl peut également créer le cluster avec les modules complémentaires Amazon EKS. Si vous créez votre cluster avec eksctl sans fichier config ou à l’aide d’un autre outil, les modules complémentaires auto-gérés kube-proxy, Amazon VPC CNI plug-in pour Kubernetes et CoreDNS sont installés à la place des modules complémentaires Amazon EKS. Vous pouvez les gérer vous-même ou ajouter manuellement les modules complémentaires Amazon EKS après la création du cluster. Quelle que soit la méthode utilisée pour créer votre cluster, le module complémentaire VPC CNI ne s’installe pas sur les nœuds hybrides.

  • La ressource eks:addon-cluster-admin ClusterRoleBinding lie la ressource cluster-admin ClusterRole à l’identité Kubernetes eks:addon-manager. Le rôle dispose des autorisations nécessaires pour que l’identité eks:addon-manager puisse créer des espaces de noms Kubernetes et installer des modules complémentaires dans les espaces de noms. Si la ressource ClusterRoleBinding eks:addon-cluster-admin est supprimée, le cluster Amazon EKS continuera de fonctionner, mais Amazon EKS ne sera plus en mesure de gérer les modules complémentaires. Tous les clusters qui démarrent avec les versions de plateforme suivantes utilisent la nouvelle ressource ClusterRoleBinding.

  • Un sous-ensemble des modules complémentaires EKS de AWS a été validé pour sa compatibilité avec les nœuds hybrides Amazon EKS. Pour plus d’informations, consultez le tableau de compatibilité sur Modules complémentaires AWS.

Espace de noms personnalisé pour les modules complémentaires

Pour les communautés et les modules complémentaires AWS, vous pouvez éventuellement spécifier un espace de noms personnalisé lors de la création du module complémentaire. Une fois que vous avez installé un module complémentaire dans un espace de noms spécifique, vous devez le supprimer et le recréer pour modifier son espace de noms.

Si vous ne spécifiez pas d’espace de noms, l’espace de noms prédéfini pour le module complémentaire sera utilisé.

Utilisez des espaces de noms personnalisés pour mieux organiser et isoler les objets complémentaires au sein de votre cluster EKS. Cette flexibilité vous aide à aligner les modules complémentaires sur vos besoins opérationnels et votre stratégie existante en matière d’espace de noms.

Vous pouvez définir un espace de noms personnalisé lors de la création d’un module complémentaire. Pour de plus amples informations, consultez Créer un module complémentaire Amazon EKS.

Obtenir un espace de noms prédéfini pour le module complémentaire

L’espace de noms prédéfini pour un module complémentaire est l’espace de noms dans lequel il sera installé si vous n’en spécifiez pas.

Pour obtenir l’espace de noms prédéfini d’un module complémentaire, utilisez la commande suivante :

aws eks describe-addon-versions --addon-name <addon-name> --query "addons[].defaultNamespace"

Exemple de sortie :

[ "kube-system" ]

Considérations relatives au mode automatique Amazon EKS

Le mode automatique Amazon EKS comprend des fonctionnalités qui offrent des fonctionnalités essentielles pour les clusters, notamment :

  • Mise en réseau des pods

  • Réseau de services

  • DNS de cluster

  • Autoscaling

  • Stockage en mode bloc

  • Load Balancer Controller

  • Agent d’identité du pod

  • Agent de surveillance de nœuds

Avec le calcul en mode automatique, de nombreux modules complémentaires EKS couramment utilisés deviennent redondants, tels que :

  • CNI Amazon VPC

  • kube-proxy

  • CoreDNS

  • Pilote CSI Amazon EBS

  • Agent EKS Pod Identity

Toutefois, si votre cluster combine le mode automatique avec d’autres options de calcul telles que les instances EC2 autogérées, les groupes de nœuds gérés ou AWS Fargate, ces modules complémentaires restent nécessaires. AWS a amélioré les modules complémentaires EKS avec des règles d’anti-affinité qui garantissent automatiquement que les pods complémentaires ne sont planifiés que sur les types de calcul pris en charge. De plus, les utilisateurs peuvent désormais exploiter l’API des modules complémentaires EKS DescribeAddonVersions pour vérifier les types de calcul pris en charge pour chaque module complémentaire et ses versions spécifiques. De plus, avec le mode automatique EKS, les contrôleurs mentionnés ci-dessus fonctionnent sur une infrastructure AWS propre. Ainsi, vous ne les verrez peut-être même pas apparaître dans vos comptes, sauf si vous utilisez le mode automatique EKS avec d’autres types de calcul, auquel cas vous verrez les contrôleurs que vous avez installés sur votre cluster.

Si vous prévoyez d’activer le mode automatique EKS sur un cluster existant, vous devrez peut-être mettre à niveau la version de certains modules complémentaires. Pour plus d’informations, consultez Versions requises des modules complémentaires pour le mode automatique EKS.

Support

AWS publie plusieurs types de modules complémentaires avec différents niveaux de support.

  • Modules complémentaires AWS : Ces modules complémentaires sont conçus et entièrement pris en charge par AWS.

    • Utilisez un module complémentaire AWS pour travailler avec d’autres services AWS, tels qu’Amazon EFS.

    • Pour de plus amples informations, consultez Modules complémentaires AWS.

  • AWSModules complémentaires Marketplace : ces modules complémentaires sont analysés par AWS et pris en charge par un partenaire indépendant AWS.

    • Utilisez un module complémentaire du Marketplace pour ajouter des fonctionnalités utiles et sophistiquées à votre cluster, telles que la surveillance avec Splunk.

    • Pour de plus amples informations, consultez Modules complémentaires AWS Marketplace.

  • Modules complémentaires communautaires : Ces modules complémentaires sont analysés par AWS mais pris en charge par la communauté open source.

    • Utilisez un module complémentaire communautaire pour réduire la complexité de l’installation de logiciels open source courants, tels que Kubernetes Metrics Server.

    • Les modules complémentaires communautaires sont packagés à partir du code source par AWS. AWS ne valide que la compatibilité des versions des modules complémentaires communautaires.

    • Pour de plus amples informations, consultez Community add-ons.

Le tableau suivant détaille l’étendue de la prise en charge pour chaque type de module complémentaire :

Catégorie Fonctionnalité Modules complémentaires AWS Modules complémentaires AWS Marketplace Community add-ons

Développement

Construit par AWS

Oui

Non

Oui

Développement

Validé par AWS

Oui

Non

Oui*

Développement

Validé par le partenaire AWS

Non

Oui

Non

Maintenance

Scanné par AWS

Oui

Oui

Oui

Maintenance

Corrigé par AWS

Oui

Non

Oui

Maintenance

Corrigé par un partenaire AWS

Non

Oui

Non

Distribution

Publiée dans AWS

Oui

Non

Oui

Distribution

Publié par AWS Partner

Non

Oui

Non

Support

Support d’installation de base par AWS

Oui

Oui

Oui

Support

Support AWS complet

Oui

Non

Non

Support

Support AWS complet pour les partenaires

Non

Oui

Non

* : La validation des modules complémentaires communautaires inclut uniquement la compatibilité des versions de Kubernetes. Par exemple, si vous installez un module complémentaire communautaire sur un cluster, AWS vérifie s’il est compatible avec la version Kubernetes de votre cluster.

Les modules complémentaires AWS Marketplace peuvent télécharger des dépendances logicielles supplémentaires à partir de sources externes extérieures à AWS. Ces dépendances externes ne sont ni scannées ni validées par AWS. Tenez compte de vos exigences en matière de sécurité lorsque vous déployez des modules complémentaires AWS Marketplace qui récupèrent des dépendances externes.