Le Blog Amazon Web Services

eksctl – le CLI d’EKS

Lorsque nous avons lancé Amazon EKS, nous avions prévu un client en ligne de commande (dit CLI) complet. Nous avons été interpellés par le lancement simultané de l’outil de ligne de commande open source eksctl par Weaveworks, et les commentaires des utilisateurs ont retenus toute notre attention. Au lieu de créer notre propre outil, nous avons décidé d’adopter eksctl dans le cadre du cycle de planification d’EKS et d’encourager les autres à contribuer également – et nous sommes heureux de l’avoir fait !

eksctl est maintenant notre client en ligne de commande (CLI) officiel pour EKS

Au cours de l’année qui s’est écoulée depuis le lancement de eksctl.io, de nombreux utilisateurs d’Amazon EKS se sont appuyés sur l’outil pour le création de nouveaux clusters et la gestion continue de la configuration de clusters opérés sur de longues durées. Nous continuons à recevoir des commentaires positifs sur le fait que nous avons soutenu un projet open source dans le cadre de l’offre de service Amazon EKS. Bien que nous approuvions et soutenions eksctl en tant que client en ligne de commande officiel, nous avons constaté que les utilisateurs étaient confus quant à notre niveau d’engagement officiel. On nous a dit que notre documentation n’était pas assez explicite sur eksctl. Les utilisateurs d’Amazon EKS nous demandent fréquemment d’ajouter des exemples et des références directes à l’utilisation d’eksctl dans nos documents techniques d’Amazon EKS.

Nous avons donc écouté : eksctl est maintenant officiellement approuvé et pris en charge par l’équipe Amazon EKS et est maintenant inclus dans la documentation Amazon EKS.

La documentation Amazon EKS incluent des exemples et des cas d’utilisation spécifiques à eksctl. Nous réviserons systématiquement les références à l’utilisation d’eksctl à chaque révision de la documentation et nous serons heureux de faire des suggestions sur des éléments utiles à notre documentation en ouvrant des issues sur notre roadmap publique d’Amazon EKS. Nous vous encourageons à vous engager sur eksctl.io et à envisager d’y contribuer.

Débuter avec eksctl

Avec eksctl, vous pouvez créer un cluster Amazon EKS prêt pour des charges de production avec une seule commande:

$ eksctl create cluster

Avec cette line de commande, le rôle ‘AWS Identity and Access Management’ (IAM) approprié est défini pour la couche de contrôle, celle-ci est intégrée à Amazon VPC pour le contrôle d’accès réseau et le fichier kubeconfig correspondant est fourni. eksctl offre également des options pour attacher un AutoScaling Group d’Amazon EC2, ce qui permet à votre cluster d’être prêt à créér des pods dès que votre application est déployée. Dans ce contexte, nous vous encourageons également à consulter eksworkshop.com, un tutorial en ligne proposant de nombreux modules pratiques utilisant eksctl.

Gestion de la configuration avec GitOps

Lors de l’exploitation d’un cluster Kubernetes opérant des applications en production, les équipes DevOps ont besoin d’une approche éprouvée de la gestion de la configuration. De nombreux utilisateurs d’Amazon EKS ont eu du succès avec l’approche GitOps.

GitOps est un terme largement appliqué à la maintenance des données de configuration du système via un gestionnaire de source. GitOps peut être considéré comme une livraison continue pour la configuration des clusters. C’est pourquoi une interface de ligne de commande bien structurée est si importante: une automatisation fiable de la création et maintenance du système repose sur une interface de ligne de commande interactive. La plupart des équipes de produits ont mis en place des workflows pour mettre à jour, tester et déployer les modifications apportées aux services en direct. Nous recommandons GitOps comme meilleure pratique pour les utilisateurs d’Amazon EKS, et cela est apporté par construction par le CLI eksctl.

Développement orienté par la communauté

Outre la gestion de la configuration pilotée par GitOps, voici quelques fonctionnalités supplémentaires apportées par eksctl :

  • Cluster extensible prêt pour la production : ajoutez des extensions populaires avec GitOps pour une gestion complète du cluster de boût en boût. Choisissez parmi les outils: Weave Net, Helm, AWS CI tels que AWS CodeCommit, AWS CodeBuild, Amazon Elastic Container Registry (Amazon ECR) et AWS CodeStar, ainsi que Jenkins X, Weave Scope et Weave Flux.
  • Scalabilité automatique : créez facilement des groupes d’auto-scaling Amazon EC2 à partir de la ligne de commande
  • Mise en réseau VPC simple et flexible : créez un VPC dédié qui peut être configuré pour être associé à d’autres VPC, agrandi ou réduit, fonctionner avec un sous-réseau privé ou personnalisé et intégré avec votre VPC existant.
  • Fonctionne sur votre système d’exploitation préféré : Installez et exécutez eksctl sur le système d’exploitation de votre choix: Linux (curl), Windows (chocolatey) ou MacOS (homebrew).

Merci à l’équipe eksctl !

Ilya Dmitrichenko (@errordeveloper) de Weaveworks est le créateur d’eksctl et son développeur principal. Il est l’un des premiers contributeurs de Kubernetes et un ambassadeur de la CNCF. Chris Hein (@christopherhein), ancien Architecte de Solutions Partenaires et Developer Advocate chez AWS, a également joué un rôle déterminant dans le développement d’eksctl. Nous voudrions également remercier les nombreux contributeurs de la communauté open source qui ont contribué à améliorer eksctl. Nous vous encourageons à contribuer au projet en utilisant eksctl, en ouvrant un issue ou en soumettant une pull request.

Post original de Bob Wise, General Manager Amazonn EKS.

Traduit en français par Kun Song, Architecture Solution chez AWS France aidant les clients français à adopter le cloud AWS.

Source