Introduction à Amazon EKS
Kubernetes sur AWS
Amazon Cloud (AWS) propose un certain nombre de services qui facilitent l'orchestration des conteneurs, notamment Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS), Amazon LightSail et Amazon Elastic Container Registry (ECR). Dans cet article, nous découvrirons Amazon EKS, qui est Kubernetes dans le cloud AWS.
1. Qu'est-ce qu'Amazon EKS ?
Amazon EKS (pour Amazon Elastic Kubernetes Service) est un service géré qui vous permet d'exécuter Kubernetes sur AWS Cloud sans avoir à configurer, administrer ou gérer votre propre plan de contrôle et vos nœuds.
Kubernetes est une technologie open source qui automatise le déploiement, la mise à l'échelle et la gestion des conteneurs, c'est-à-dire des applications conteneurisées.
Pour atteindre une haute disponibilité, EKS exécute et fait évoluer le plan de contrôle Kubernetes sur différentes zones de disponibilité AWS. Dans Amazon EKS, les instances du plan de contrôle sont automatiquement mises à l'échelle en fonction de la charge, et les instances du plan de contrôle défectueuses sont détectées et remplacées, et les mises à niveau de version et les correctifs automatisés seront effectués automatiquement.
Amazon EKS peut être intégré à d'autres services AWS pour fournir diverses installations. Par exemple, les nœuds de travail peuvent être provisionnés par des instances AWS EC2, ECR (Elastic Container Registry) pour les images de conteneurs, VPC (Virtual Private Cloud) pour isoler les ressources.
2. Composants du cluster Amazon EKS
Le cluster Amazon EKS se compose de deux composants importants.
- Plan de contrôle EKS
- Nœuds EKS
2.1. Plan de contrôle EKS
Le plan de contrôle Amazon EKS est composé de nœuds qui exécutent des logiciels Kubernetes tels que etcd et le serveur API Kubernetes. Le plan de contrôle fonctionne sur un compte AWS et l'API Kubernetes est accessible via le point de terminaison Amazon EKS de votre cluster. Chaque plan de contrôle de cluster Amazon EKS possède son propre ensemble d'instances Amazon EC2 et est unique et à locataire unique.
Le plan de contrôle EKS est disponible dans plusieurs zones de disponibilité ; si l'un des plans de contrôle rencontre un problème, EKS identifie et remplace automatiquement ces nœuds de plan de contrôle défectueux, tout en fournissant des mises à jour et des correctifs à la demande, sans temps d'arrêt.
2.2. Nœuds EKS
Les nœuds Amazon EKS s'exécutent dans votre compte AWS et se connectent au plan de contrôle de votre cluster via un point de terminaison de serveur API et un fichier de certificat émis pour votre cluster. Des groupes de nœuds doivent être créés pour provisionner les nœuds dans le cluster EKS.
Un groupe de nœuds est composé d'un ou plusieurs nœuds. Dans un groupe Amazon EC2 Auto Scaling, un groupe de nœuds est composé d'une ou plusieurs instances Amazon EC2 et toutes les instances doivent être du même type avec la même Amazon Machine Image (AMI). Et un groupe de nœuds doit utiliser le même rôle IAM.
3. Méthodes de déploiement du cluster EKS
Vous pouvez créer le cluster EKS de deux manières.
- Amazon EKS - eksctl : il s'agit d'un simple utilitaire de ligne de commande permettant de créer et de maintenir des clusters Kubernetes. AWS et Weaveworks ont collaboré sur eksctl, un outil qui automatise une grande partie du processus de configuration des clusters EKS. Eksctl prend également en charge le provisionnement des ressources via un fichier de configuration, qui est la méthode préférable car elle vous permet de contrôler la version de la configuration de votre cluster EKS.
- AWS Management Console et AWS CLI : il s'agit de la méthode la plus simple pour déployer un cluster Amazon EKS où vous pouvez lancer EKS en tant que service dans AWS et ajouter des nœuds en créant des groupes de nœuds dans la console AWS elle-même.
4. Comment fonctionne Amazon EKS
La façon la plus simple d'envisager Amazon EKS est « Kubernetes as a Service » d'AWS Cloud.
Comme mentionné ci-dessus, Amazon EKS se compose de deux composants principaux : Nœuds de plan de contrôle/maître et de plan de données/travailleur EKS qui construisent le cluster EKS. Les deux avions sont exécutés dans leurs propres cloud privés virtuels (VPC).
Les nœuds des VPC sont chargés d'exécuter les images de conteneur ou les charges de travail. AWS propose également l'infrastructure réseau nécessaire pour connecter ces composants et former un cluster Kubernetes.
Les pods peuvent être planifiés sur n'importe quelle combinaison de nœuds autogérés, de groupes de nœuds contrôlés par Amazon EKS et d'AWS Fargate dans un cluster Amazon EKS.
Les nœuds Amazon EKS s'exécutent sous votre compte et utilisent le point de terminaison du serveur API du cluster pour communiquer avec le plan de contrôle.
Les détails et le diagramme suivants illustrent le déploiement d'applications dans le cluster EKS.
Provisionner le cluster Amazon EKS - Maître de provisionnement
Vous pouvez créer le cluster dans AWS Management Console ou à l'aide de l'AWS CLI ou de l'un des kits SDK AWS.
Déployer Compute - Provisioning Worker
Vous pouvez lancer des nœuds de calcul à partir d'instances AWS Fargate ou Amazon EC2. Pour configurer des nœuds de travail pour exécuter des conteneurs d'applications, EKS propose les options suivantes.
- Autogéré : l'utilisateur est responsable du provisionnement des instances EC2 liées au cluster. Cela vous offre plus d'options lorsqu'il s'agit de définir des nœuds de travail.
- Géré : pour les clusters Amazon EKS Kubernetes, les groupes de nœuds gérés automatisent le provisionnement et la gestion du cycle de vie des nœuds (instances Amazon EC2).
- AWS Fargate : Fargate est un moteur informatique sans serveur géré par AWS qui vous permet d'exécuter des applications conteneurisées sans avoir à entretenir de serveurs.
Connectez-vous au cluster Amazon EKS
Kubernetes communique avec son cluster via un outil de ligne de commande nommé Kubectl. Vous devez installer kubectl sur votre ordinateur et le configurer pour connecter Amazon EKS et exécuter des applications.
Surveiller les applications Kubernetes
Après avoir créé votre cluster EKS complet, vous devez déployer le tableau de bord Kubernetes qui est une interface de gestion Web pour gérer et surveiller votre cluster EKS.
Déployer des applications avec EKS dans le Cloud
5. Fonctionnalités Amazon EKS
Ici, j'ai répertorié quelques fonctionnalités importantes d'Amazon EKS.
Plan de contrôle géré
Amazon EKS fournit un plan de contrôle hautement disponible avec une option d'évolutivité automatique. Comme EKS s'exécute dans trois zones de disponibilité, il détecte automatiquement le plan de contrôle défectueux et le remplace.
Intégration des services
AWS Controllers for Kubernetes (ACK) vous permet de gérer les services AWS directement depuis votre environnement Kubernetes. Grâce aux ressources AWS, ACK simplifie la création d'applications Kubernetes évolutives et hautement disponibles.
Eksctl - Gestion d'une seule ligne
Il s'agit d'un outil de ligne de commande qui peut être installé sur votre machine Windows ou Linux pour créer, exécuter et gérer votre cluster EKS. Il simplifie la gestion et les opérations du cluster.
Sécurité
Amazon EKS s'intègre à divers services et technologies pour fournir un environnement hautement sécurisé. Par exemple, IAM permet un contrôle d'accès précis et VPC isole et protège votre cluster EKS des accès tiers.
Équilibrage de charge
Amazon EKS prend en charge l'utilisation d'Application Load Balancer, idéal pour l'équilibrage de charge avancé du trafic HTTP et HTTPS. En outre, EKS utilise Network Load Balancer et Classic Load Balancer.
Calcul sans serveur
Pour exécuter vos applications Kubernetes à l'aide de l'informatique sans serveur, EKS prend en charge AWS Fargate. Fargate élimine le besoin de créer et de maintenir des serveurs. Il vous permet de choisir et de payer les ressources par application.
Déploiement hybride
EKS sur « AWS Outposts » peut être utilisé pour exécuter des applications conteneurisées avec des latences minimales sur les systèmes sur site. AWS Outposts est une solution entièrement gérée qui connecte n'importe quel emplacement connecté à l'infrastructure, aux services, aux API et aux outils AWS. Vous pouvez gérer les conteneurs sur site avec la même simplicité que vous pouvez les gérer dans le cloud avec EKS sur Outposts.
Compatibilité Open Source
Amazon EKS prend en charge les modules complémentaires Kubernetes courants et EKS est hautement compatible avec les outils de la communauté Kubernetes.
Mises à jour du cluster géré
Les mises à niveau de version pour Kubernetes sont effectuées à la volée, éliminant ainsi le besoin de créer de nouveaux clusters ou de transférer des applications vers un nouveau cluster.
6. Tarification Amazon EKS
Pour chaque cluster Amazon EKS que vous créez, vous payez 0,10 $par heure. En utilisant les espaces de noms Kubernetes et les paramètres de sécurité IAM, vous pouvez exécuter de nombreuses applications sur un seul cluster EKS.
Sur AWS, vous pouvez utiliser Amazon Elastic Compute Cloud (Amazon EC2) ou AWS Fargate pour exploiter EKS, et sur site, vous pouvez utiliser AWS Outposts. En conséquence, le prix sera calculé.
AWS fournit le calculateur pour estimer le prix. Vous pouvez utiliser le lien ci-dessous pour estimer votre prix pour EKS Cluster.
Calculateur de prix AWS
Reportez-vous à l'article ci-dessous pour plus de détails sur le modèle de tarification des instances AWS EC2, car vous pouvez utiliser les instances EC2 pour les nœuds de travail EKS.
- Présentation d'Amazon Web Services (AWS)
Si vous utilisez AWS Fargate, le prix dépend de la quantité de vCPU et de RAM consommée depuis le moment où vous commencez à télécharger votre image de conteneur jusqu'à la fin du pod Amazon EKS, le calcul du temps sera arrondi à la seconde la plus proche. Une charge minimale sera appliquée pendant une minute même si vous utilisez 10 secondes.
Utilisez ce lien pour estimer votre tarification AWS Fargate. Ici, vous devez renseigner des détails tels que le modèle du système d'exploitation, le nombre de POD, la quantité de vCPU et la mémoire.
Calculer la tarification AWS Fargate
Sur AWS Outposts, vous pouvez créer et exécuter vos nœuds Amazon EKS. AWS Outposts permet aux installations sur site d'utiliser les services, l'infrastructure et les modèles d'exploitation AWS natifs.
Le coût d'Amazon EKS sur AWS Outposts est simple et identique à celui du cluster Amazon EKS déployé dans AWS, et vous payez 0,10 $par heure.
Vous pouvez acheter différents types de configurations de rack AWS Outposts en fonction de vos besoins. La configuration du rack est une combinaison de type d'instance EC2, de volume EBS gp2 et de S3 sur Outposts. Reportez-vous à ce lien pour estimer votre modèle de tarification pour AWS Outposts.
Conclusion
Dans cet article, nous avons compris les concepts de base d'Amazon EKS, son modèle de fonctionnement et de tarification et ses fonctionnalités importantes. Nous verrons les procédures de création du cluster Amazon EKS dans le prochain article.
Lire ensuite :
- Comment déployer un cluster Kubernetes sur AWS avec Amazon EKS
Ressource :
- Guide de l'utilisateur Amazon EKS


