Elastic Kubernetes Service (EKS) pour les charges de travail en conteneur sur AWS

Connaissances

4 minutes

lire

Amazon Elastic Kubernetes Service (Amazon EKS) est une offre Kubernetes gérée, conforme à la certification Amazon, utilisée par des entreprises technologiques de premier plan, telles qu'Autodesk, GoDaddy, Snap, Intel et Intuit, pour exécuter leurs applications sensibles et critiques. En termes simples, AWS EKS combine AWS (un fournisseur de services cloud) et Kubernetes (un moyen standard de déployer et de gérer des conteneurs d'applications dans des environnements de production) pour permettre un moyen rapide et transparent de créer des clusters Kubernetes dans le cloud. 

Le service entièrement géré permet d'exécuter Kubernetes sur AWS sans que les utilisateurs aient à maintenir leur plan de contrôle Kubernetes. Il aide à exécuter le plan de contrôle (nœuds maîtres) et les nœuds de travail sans se soucier de l'infrastructure sous-jacente. AWS a progressivement publié de nouvelles fonctionnalités intéressantes d'EKS, notamment la prise en charge de Fargate et les groupes de nœuds gérés, afin d'offrir aux utilisateurs des options pour exécuter leurs charges de travail sur EKS au-delà des instances EC2 autogérées. 

Avantages de la pile AWS K8S

AWS EKS est un moyen fiable et sûr d'exécuter Kubernetes. Parmi les avantages, citons les capacités d'informatique sans serveur, la haute disponibilité, la sécurité renforcée, l'intégration avec d'autres services AWS et la collaboration de la communauté. 

Intégration avec d'autres services AWS 

En outre, EKS permet l'intégration avec d'autres services Amazon, tels que Amazon CloudWatch, Auto Scaling Groups, Amazon ECR pour les images de conteneurs, Amazon Virtual Private Cloud (VPC) pour l'isolation, et AWS Identity and Access Management (IAM) pour l'authentification. Cette intégration permet aux utilisateurs de surveiller, de mettre à l'échelle et d'équilibrer la charge de travail de manière transparente. EKS s'intègre également à AWS App Mesh, offrant une expérience native de Kubernetes pour tirer parti des fonctionnalités de maillage de services, telles que l'observabilité riche, la sécurité et le contrôle du trafic. 

Option de calcul sans serveur 

Les clusters EKS peuvent fonctionner à l'aide d'AWS Fargate serverless compute pour les conteneurs. AWS Fargate élimine la nécessité pour les utilisateurs du cloud de provisionner et de gérer les serveurs. Au lieu de cela, la fonctionnalité permet aux utilisateurs de spécifier et de souscrire à des ressources par application. L'approche renforce encore la sécurité grâce à l'isolation des applications dès la conception. 

Haute disponibilité 

EKS offre également un plan de contrôle hautement évolutif et disponible à travers de multiples zones de disponibilité. Cette fonctionnalité élimine en effet tout point de défaillance unique, car EKS détecte et remplace automatiquement les nœuds du plan de contrôle et fournit des correctifs sans temps d'arrêt. La procédure s'appuie sur l'architecture régionale d'AWS. 

Sécurité renforcée 

AWS stocke et récupère en toute sécurité les images de conteneurs EKS à partir de l'Elastic Container Registry (ECR). EKS applique les dernières mises à jour de sécurité au plan de contrôle du cluster en temps réel. En outre, AWS collabore avec la communauté Kubernetes pour résoudre les problèmes de sécurité avant les nouvelles versions et corriger les failles dans les clusters déployés. 

Mises à jour automatiques 

Amazon EKS permet aux utilisateurs d'exécuter des versions mises à jour du système Kubernetes. En effet, les utilisateurs d'AWS EKS peuvent utiliser les derniers plugins et outils publiés par la communauté du système. 

Capacités de la communauté Open Source 

EKS certifié conforme à Kubernetes gère des applications qui sont entièrement compatibles avec la gestion des applications par un standard Kubernetes, un système open source qui permet le déploiement automatique, la mise à l'échelle et la gestion d'applications conteneurisées. AWS collabore et contribue à la communauté et à la base de code de Kubernetes. 

Intégrer l'EKS à mon utilisation actuelle des services AWS 

Pour commencer, les utilisateurs doivent d'abord créer un cluster Amazon EKS dans la console de gestion AWS. Ils peuvent également utiliser le CLI ou les SDK d'AWS. Les utilisateurs lancent ensuite le nœud de travail qui enregistre le cluster EKS. Les utilisateurs peuvent configurer les nœuds automatiquement à l'aide d'un modèle AWS CloudFormation. Une fois le cluster prêt, les utilisateurs peuvent le configurer avec des outils Kubernetes, tels que l'outil de ligne de commande Kubernetes (Kubectl), nécessaire pour qu'une application puisse communiquer avec lui. Une fois le processus terminé, les développeurs peuvent maintenant déployer et gérer des applications sur leur cluster Amazon EKS, de la même manière qu'ils exploitent d'autres environnements Kubernetes standard. 

Résumé des étapes du déploiement d'AWS EKS 

  1. Connectez-vous au compte AWS à l'aide des informations d'identification du compte IAM AWS actif (assurez-vous que vous utilisez la dernière version de l'interface de ligne de commande (CLI) AWS). D'autres services importants pour le processus comprennent la mise à jour de heptio-authenticator-aws et de kubectl. 
  2. Générer un identifiant de clé d'accès AWS et une clé d'accès secrète. L'utilisateur crée également un profil AWS local pour conserver les informations d'identification. Dans la plupart des cas, les informations existent pour les utilisateurs actifs d'AWS 
  3. Créez un rôle de service AWS IAM qui gère les opérations liées au cluster AWS EKS. 
  4. Générer une paire de clés SSH pour autoriser l'accès aux instances EC2 
  5. Créez un nuage privé virtuel AWS (VPC) pour héberger le cluster AWS EKS. AWS CloudFormation Console permet de créer, surveiller, mettre à jour et supprimer des piles à partir des navigateurs des utilisateurs. 
  6. Créez et connectez-vous au cluster EKS en accédant à la console Amazon EKS. Ensuite, ajoutez des nœuds de travail au cluster 

Cas d'utilisation populaires d'AWS EKS 

  1. Déploiement hybride : Les utilisateurs peuvent déployer EKS sur AWS Outposts pour exécuter des applications conteneurisées à faible latence. Il permet aux utilisateurs de gérer les conteneurs sur site. 
  2. Workflow d'apprentissage automatique : Les utilisateurs peuvent déployer EKS avec Kuberflow pour exécuter des workflows d'apprentissage automatique et des modèles d'entraînement distribués en utilisant des instances EC2 alimentées par le GPU. 
  3. Développement d'applications web : Vous pouvez exécuter une application web sur l'EKS dans plusieurs zones de disponibilité afin de créer des produits qui s'adaptent à la demande de ressources. En outre, cette approche offre des performances, une évolutivité, une fiabilité et une disponibilité accrues. 
  4. Traitement par lots : EKS Cluster permet aux utilisateurs d'exécuter des charges de travail séquentielles ou parallèles par lots à l'aide de l'API Kubernetes Jobs. Cette fonctionnalité permettra aux développeurs de planifier, programmer et exécuter des charges de travail de traitement par lots sur les services AWS.  

Merci d'avoir lu cet article. Nous espérons qu'il vous a plu !

Contactez-nous pour plus d'informations sur notre accompagnement et notre expertise !