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.
Automatisation de l’infrastructure du cluster avec le mode automatique EKS
Le mode automatique EKS étend la gestion des clusters Kubernetes par AWS au-delà du cluster lui-même, permettant à AWS de configurer et gérer l’infrastructure assurant le bon fonctionnement de vos charges de travail. Vous pouvez déléguer des décisions clés d’infrastructure et tirer parti de l’expertise de AWS pour les opérations quotidiennes. L’infrastructure du cluster gérée par AWS inclut de nombreuses fonctionnalités Kubernetes en tant que composants de base, plutôt que comme modules complémentaires, notamment l’autoscaling du calcul, le réseau des pods et des services, l’application load balancing, le DNS du cluster, le stockage par blocs et la prise en charge GPU.
Pour commencer, vous pouvez déployer un nouveau cluster du mode automatique EKS ou activer le mode automatique EKS sur un cluster existant. Vous pouvez déployer, mettre à niveau ou modifier vos clusters du mode automatique EKS à l’aide de l’outil eksctl, de la CLI AWS, de la AWS Management Console, des API EKS, ou à l’aide de vos outils d’infrastructure as code habituels.
Avec le mode automatique EKS, vous pouvez continuer d’utiliser vos outils compatibles avec Kubernetes préférés. Le mode automatique EKS s’intègre aux services AWS tels que Amazon EC2, Amazon EBS et ELB, en utilisant les ressources cloud AWS basées sur les meilleures pratiques. Ces ressources sont mises à l’échelle automatiquement, optimisées en termes de coûts et mises à jour régulièrement afin de réduire les coûts d’exploitation et les charges opérationnelles.
Fonctionnalités
Le mode automatique EKS offre les fonctionnalités de haut niveau suivantes :
Simplification de la gestion des clusters Kubernetes : le mode automatique EKS permet de gérer EKS de manière simplifiée, grâce à des clusters prêts pour la production, avec un minimum de gestion opérationnelle. Avec le mode automatique EKS, vous pouvez exécuter des charges de travail dynamiques et exigeantes en toute confiance, sans avoir besoin d’une expertise EKS approfondie.
Disponibilité des applications : le mode automatique EKS ajoute ou supprime dynamiquement des nœuds dans votre cluster en fonction des besoins de vos applications Kubernetes. Cela réduit la planification manuelle de la capacité et contribue à assurer la disponibilité des applications.
Efficacité : le mode automatique EKS est conçu pour optimiser les coûts de calcul, tout en tenant compte des paramètres définis dans votre NodePool et de vos exigences de charge de travail. Il termine les instances inutilisées et consolide les charges de travail sur d’autres nœuds pour améliorer l’efficacité et réduire les coûts.
Sécurité : le mode automatique EKS utilise des AMI immuables pour vos nœuds. Ces AMI appliquent des logiciels verrouillés, activent les contrôles d’accès obligatoires SELinux et fournissent un système de fichiers racine en lecture seule. De plus, les nœuds lancés par le mode automatique EKS ont une durée de vie maximale de 21 jours (réductible), après laquelle ils sont automatiquement remplacés par de nouveaux nœuds. Cette approche améliore votre niveau de sécurité en renouvelant régulièrement les nœuds, conformément aux bonnes pratiques déjà adoptées par de nombreux clients.
Mises à niveau automatisées : le mode automatique EKS maintient votre cluster Kubernetes, vos nœuds et les composants associés à jour avec les derniers correctifs, tout en respectant vos budgets d’interruption des pods (PDB) et budgets d’interruption des NodePools (NDB). Jusqu’à la durée de vie maximale de 21 jours, une intervention peut être nécessaire si des PDB bloquants ou d’autres configurations empêchent les mises à jour.
Composants gérés : le mode automatique EKS inclut certaines fonctionnalités Kubernetes et fonctionnalités cloud AWS comme composants de base, qui seraient autrement gérées comme des modules complémentaires. Cela inclut la prise en charge intégrée des attributions d’adresses IP des pods, des politiques réseau des pods, des services DNS locaux, des plug-ins GPU, des vérificateurs de santé et du stockage EBS CSI.
Personnalisation des NodePools et NodeClasses : si votre charge de travail nécessite des modifications concernant le stockage, le calcul ou le réseau, vous pouvez créer des NodePools et NodeClasses personnalisés avec le mode automatique EKS. Vous ne devez pas modifier les NodePools et NodeClasses par défaut, mais vous pouvez créer de nouveaux NodePools ou NodeClasses personnalisés, en complément de ceux par défaut, afin de répondre à vos besoins spécifiques.
Composants automatisés
Le mode automatique EKS simplifie l’exploitation de vos clusters Amazon EKS en automatisant les composants d’infrastructure essentiels. Activer le mode automatique EKS réduit encore davantage les tâches nécessaires à la gestion de vos clusters EKS.
Voici une liste des composants du plan de données automatisés :
-
Calcul : pour de nombreuses charges de travail, avec le mode automatique EKS, vous pouvez oublier la plupart des aspects liés au calcul dans vos clusters EKS. Il s’agit des licences suivantes :
-
Nœuds : les nœuds du mode automatique EKS sont conçus pour être gérés comme des appareils. Le mode automatique EKS effectue les opérations suivantes :
-
Choisit une AMI appropriée, configurée avec les services nécessaires pour exécuter vos charges de travail sans intervention.
-
Verrouille l’accès aux fichiers sur l’AMI en utilisant le mode d’application SELinux et un système de fichiers racine en lecture seule.
-
Empêche l’accès direct aux nœuds en interdisant l’accès SSH ou SSM.
-
Inclut la prise en charge des GPU NVIDIA et Neuron, avec pilotes noyau et plug-ins dédiés, permettant d’exécuter des charges de travail intensives.
-
Gère automatiquement les avis d’interruption de l’instance Spot EC2 et les événements liés à l’état de l’instance EC2
-
-
Autoscaling : en s’appuyant sur l’autoscaling Karpenter
, le mode automatique EKS surveille les pods non planifiés et permet le déploiement automatique de nouveaux nœuds pour les exécuter. Lorsque les charges de travail se terminent, le mode automatique EKS interrompt et termine dynamiquement les nœuds inutilisés afin d’optimiser l’utilisation des ressources. -
Mises à niveau : en prenant le contrôle de gestion des nœuds, le mode automatique EKS facilite l’application des correctifs de sécurité, des mises à niveau du système d’exploitation et des composants associés. Ces mises à niveau sont conçues pour interrompre le moins possible vos charges de travail. Le mode automatique EKS impose une durée de vie maximale de 21 jours par nœud, garantissant logiciel et API à jour.
-
-
Équilibrage de charge : le mode automatique EKS simplifie l’équilibrage de charge en s’intégrant au service Elastic Load Balancing d’Amazon, ce qui permet d’automatiser le provisionnement et la configuration des équilibreurs de charge pour les ressources Service et Ingress de Kubernetes. Il prend en charge des fonctionnalités avancées pour les équilibreurs de charges Application Load Balancer et les équilibreurs de charge Network Load Balancer, en gère tout le cycle de vie et les met à l’échelle afin de répondre aux besoins du cluster. Cette intégration fournit une solution d’équilibrage de charge prête pour la production, conforme aux bonnes pratiques AWS, vous permettant de vous concentrer sur vos applications plutôt que sur l’infrastructure.
-
Stockage : le mode automatique EKS configure le stockage éphémère automatiquement, notamment les types de volumes, les tailles et politiques de chiffrement, et les politiques de suppression lors de la terminaison des nœuds.
-
Mise en réseau : le mode automatique EKS automatise les tâches réseau essentielles pour la connectivité des pods et des services. Cela inclut la prise en charge IPv4/IPv6 et l’utilisation de blocs CIDR secondaires afin d’étendre les plages d’adresses IP.
-
Gestion des identités et des accès : il n’est pas nécessaire d’installer l’agent d’identité du pod EKS sur les clusters du mode automatique EKS.
Pour plus d'informations sur ces composants, consultez Découvrez comment fonctionne le mode automatique EKS.
Configuration
Même si le mode automatique EKS gère efficacement la plupart des services du plan de données sans intervention, il peut arriver que vous souhaitiez adapter le comportement de certains services. Vous pouvez modifier la configuration de vos clusters du mode automatique EKS des manières suivantes :
-
DaemonSets Kubernetes : plutôt que de modifier les services installés sur vos nœuds, vous pouvez utiliser des DaemonSets Kubernetes. Les DaemonSets sont gérés par Kubernetes, mais s’exécutent sur tous les nœuds du cluster. Cela vous permet d’ajouter des services spécialisés pour surveiller ou contrôler l’état de vos nœuds.
-
NodePools et NodeClasses personnalisés : les NodePools et NodeClasses par défaut sont configurés par le mode automatique EKS et ne doivent pas être modifiés. Pour personnaliser le comportement des nœuds, vous pouvez créer des NodePools ou des NodeClasses supplémentaires pour des cas d’utilisation tels que :
-
Sélection de types d’instances spécifiques (par exemple, processeurs accélérés ou instances Spot EC2).
-
Isolation des charges de travail à des fins de sécurité ou de suivi des coûts.
-
Configuration des paramètres de stockage éphémères tels que les IOPS, la taille et le débit.
-
-
Équilibrage de charge : certains services, comme l’équilibrage de charge, exécutés en tant qu’objets Kubernetes par le mode automatique EKS, peuvent être configurés directement dans vos clusters du mode automatique EKS.
Pour plus d’informations sur les options de configuration du mode automatique EKS, consultez Configurer les paramètres du mode automatique EKS.
Modèle de responsabilité partagée
Le modèle de responsabilité partagée AWS définit la répartition des responsabilités en matière de sécurité et de conformité entre AWS et les clients. Les images et le texte ci-dessous présentent et expliquent les différences entre les responsabilités du client et celles d’AWS dans le mode automatique EKS par rapport au mode EKS standard.
Le mode automatique EKS transfère une grande partie des responsabilités partagées liées à l’infrastructure Kubernetes du client vers AWS. Avec le mode automatique EKS, AWS assume davantage de responsabilités liées à la sécurité cloud, qui relevaient auparavant du client et sont désormais partagées. Les clients peuvent ainsi se concentrer davantage sur leurs applications, tandis que AWS gère l’infrastructure sous-jacente.
Responsabilité du client
Avec le mode automatique EKS, les clients demeurent responsables des conteneurs des applications, y compris la disponibilité, la sécurité et la surveillance. Ils gardent également le contrôle de l’infrastructure VPC et de la configuration du cluster EKS. Ce modèle permet aux clients de se concentrer sur les aspects propres à leurs applications tout en déléguant la gestion de l’infrastructure du cluster à AWS. Des fonctionnalités optionnelles par nœud peuvent être ajoutées au cluster au moyen de modules complémentaires AWS.
Responsabilité d’AWS
Avec le mode automatique EKS, AWS élargit ses responsabilités pour inclure la gestion de plusieurs composants essentiels supplémentaires, par rapport aux clusters EKS qui n’utilisent pas le mode automatique. Plus précisément, le mode automatique EKS prend en charge la configuration, la gestion, la sécurité et la mise à l’échelle des instances EC2 lancées pour le cluster ainsi que des capacités du cluster liées à l’équilibrage de charge, à la gestion des adresses IP, aux politiques réseau et au stockage par blocs. Les composants suivants sont gérés par AWS dans le mode automatique EKS :
-
Instances EC2 lancées en mode automatique : AWS gère l’ensemble du cycle de vie des nœuds grâce aux instances Amazon EC2 gérées. Les instances gérées EC2 sont responsables de la configuration du système d’exploitation, de l’application des correctifs, de la surveillance et de la maintenance du système d’exploitation. Dans ce modèle, l’instance elle-même et le système d’exploitation invité qui y est exécuté relèvent de la responsabilité de AWS. Les nœuds utilisent des variantes des AMI Bottlerocket
, optimisées pour exécuter des conteneurs. Les AMI Bottlerocket utilisent des logiciels verrouillés, un système de fichiers racine immuable et un accès réseau sécurisé (pour empêcher toute communication directe via SSH ou SSM). -
Capacités du cluster : AWS gère l’autoscaling du calcul, le réseau des pods avec application des politiques réseau, l’intégration à l’équilibrage de charge Elastic Load Balancing, ainsi que la configuration des pilotes de stockage.
-
Plan de contrôle du cluster : AWS continue de gérer le serveur API Kubernetes, les ENI intercomptes et la base de données etcd, comme en mode EKS standard.
-
Services de base et infrastructure mondiale : AWS conserve la responsabilité des services sous-jacents de calcul, de stockage, de réseau et de surveillance, ainsi que de l’infrastructure mondiale couvrant les régions, les zones locales et les emplacements périphériques.