View a markdown version of this page

Déploiement AWS ressources de Kubernetes avec AWS Contrôleurs pour Kubernetes (ACK) - Amazon EKS

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déploiement AWS ressources de Kubernetes avec AWS Contrôleurs pour Kubernetes (ACK)

AWS Controllers for Kubernetes (ACK) vous permet de définir et de gérer les ressources de AWS service directement depuis Kubernetes. Avec AWS Controllers for Kubernetes (ACK), vous pouvez gérer les ressources de charge de travail et l'infrastructure cloud à l'aide des ressources personnalisées de Kubernetes, parallèlement aux charges de travail de vos applications à l'aide d'API et d'outils Kubernetes familiers.

Grâce aux fonctionnalités EKS, ACK est entièrement géré par AWS, ce qui élimine le besoin d'installer, de maintenir et de faire évoluer des contrôleurs ACK sur vos clusters.

Comment fonctionne ACK

ACK traduit les spécifications de ressources personnalisées de Kubernetes en AWS appels d'API. Lorsque vous créez, mettez à jour ou supprimez une ressource personnalisée Kubernetes représentant une ressource de AWS service, ACK effectue les appels d' AWS API requis pour créer, mettre à jour ou supprimer la ressource. AWS

Chaque AWS ressource prise en charge par ACK possède sa propre définition de ressource personnalisée (CRD) qui définit le schéma de l'API Kubernetes pour spécifier sa configuration. Par exemple, ACK fournit des CRD pour S3, notamment des compartiments, des politiques de compartiment et d'autres ressources S3.

ACK réconcilie en permanence l'état de vos AWS ressources avec l'état souhaité défini dans vos ressources personnalisées Kubernetes. Si une ressource sort de l'état souhaité, ACK le détecte et prend des mesures correctives pour la remettre en alignement. Les modifications apportées aux ressources Kubernetes se répercutent immédiatement sur l'état AWS des ressources, tandis que la détection passive des dérives et la correction des modifications apportées aux AWS ressources en amont peuvent prendre jusqu'à 10 heures (période de resynchronisation), mais se produisent généralement beaucoup plus tôt.

Exemple de manifeste de ressources S3 Bucket

apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: my-ack-bucket spec: name: my-unique-bucket-name

Lorsque vous appliquez cette ressource personnalisée à votre cluster, ACK crée un compartiment Amazon S3 dans votre compte s'il n'existe pas encore. Les modifications ultérieures apportées à cette ressource, par exemple la spécification d'un niveau de stockage autre que celui par défaut ou l'ajout d'une politique, seront appliquées à la ressource S3 dans AWS. Lorsque cette ressource est supprimée du cluster, le compartiment S3 AWS est supprimé par défaut.

Les avantages de l'ACK

ACK assure la gestion Kubernetes-native AWS des ressources, ce qui vous permet de gérer les AWS ressources à l'aide des mêmes API et outils Kubernetes que vous utilisez pour vos applications. Cette approche unifiée simplifie le flux de travail de gestion de votre infrastructure en vous évitant de passer d'un outil à l'autre ou d'apprendre à utiliser des systèmes d'infrastructure en tant que code distincts. Vous définissez vos AWS ressources de manière déclarative dans les manifestes Kubernetes, ce qui permet de définir les GitOps flux de travail et l'infrastructure en tant que pratiques de code qui s'intègrent parfaitement à vos processus de développement existants.

ACK concilie en permanence l'état souhaité de vos AWS ressources avec leur état réel, corrigeant ainsi les dérives et garantissant la cohérence de votre infrastructure. Ce rapprochement continu signifie que les modifications hors bande impératives apportées aux AWS ressources sont automatiquement annulées pour correspondre à votre configuration déclarée, préservant ainsi l'intégrité de votre infrastructure en tant que code. Vous pouvez configurer ACK pour gérer les ressources de plusieurs AWS comptes et régions, permettant ainsi des architectures multicomptes complexes sans outils supplémentaires.

Pour les organisations qui migrent depuis d'autres outils de gestion d'infrastructure, ACK prend en charge l'adoption des ressources, ce qui vous permet de placer les AWS ressources existantes sous gestion ACK sans les recréer. ACK fournit également des ressources en lecture seule pour l'observation AWS des ressources sans accès aux modifications, ainsi que des annotations permettant de conserver éventuellement les AWS ressources même lorsque la ressource Kubernetes est supprimée du cluster.

Pour en savoir plus et commencer à utiliser la fonctionnalité EKS pour ACK, consultez Concepts de l'ACK etConsidérations relatives à l'ACK pour EKS.

Pris en charge AWS services

ACK prend en charge une large gamme de AWS services, y compris, mais sans s'y limiter :

  • Amazon EC2

  • Amazon S3

  • Amazon RDS

  • Amazon DynamoDB

  • Amazon ElastiCache

  • Amazon EKS

  • Amazon SQS

  • Amazon SNS

  • AWS Lambda

  • AWS AIM

Tous les AWS services répertoriés comme étant généralement disponibles en amont sont pris en charge par la fonctionnalité EKS pour ACK. Pour la liste complète des AWS services pris en charge, consultez la page des services ACK sur le site Web d'ACK.

Intégration avec d'autres fonctionnalités gérées par EKS

ACK s'intègre à d'autres fonctionnalités gérées par EKS.

  • Argo CD  : utilisez Argo CD pour gérer le déploiement des ressources ACK sur plusieurs clusters, en activant les GitOps flux de travail pour votre AWS infrastructure.

    • ACK étend les avantages de l' GitOps association avec Argo CD, mais ACK ne nécessite pas d'intégration avec git.

  • kro (Kube Resource Orchestrator)  : utilisez kro pour composer des ressources complexes à partir de ressources ACK, en créant des abstractions de niveau supérieur qui simplifient la gestion des ressources.

    • Vous pouvez créer des ressources personnalisées composites avec kro qui définissent à la fois les ressources Kubernetes et les ressources. AWS Les membres de l'équipe peuvent utiliser ces ressources personnalisées pour déployer rapidement des applications complexes.

Débuter avec ACK

Pour commencer à utiliser la fonctionnalité EKS pour ACK :

  1. Créez et configurez un rôle de capacité IAM avec les autorisations nécessaires pour qu'ACK puisse gérer les AWS ressources en votre nom.

  2. Créez une ressource de capacité ACK sur votre cluster EKS via la AWS console, la AWS CLI ou votre infrastructure préférée en tant qu'outil de code.

  3. Appliquez les ressources personnalisées de Kubernetes à votre cluster pour commencer à gérer vos AWS ressources dans Kubernetes.