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 sur 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éployez AWS des ressources depuis Kubernetes avec AWS Controllers for 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 de ressources personnalisées Kubernetes, parallèlement aux charges de travail de vos applications à l'aide de Kubernetes et d'outils Kubernetes familiers. APIs
Grâce aux fonctionnalités d'EKS, ACK est entièrement géré par AWS, ce qui élimine le besoin d'installer, de maintenir et de dimensionner les 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 CRDs S3, notamment des compartiments, des politiques de compartiment et d'autres ressources S3.
ACK concilie en permanence l'état de vos AWS ressources avec l'état souhaité défini dans vos ressources personnalisées Kubernetes. Si une ressource s'écarte de son état souhaité, ACK le détecte et prend des mesures correctives pour la remettre dans son 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 des AWS ressources en amont peuvent prendre jusqu'à 10 heures (période de resynchronisation), mais se produisent généralement bien plus tôt.
Exemple de manifeste de ressources du compartiment S3
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 en spécifiant un niveau de stockage autre que celui par défaut ou en ajoutant 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.
Avantages de l'ACK
ACK fournit une gestion des AWS ressources native de Kubernetes, vous permettant de gérer les AWS ressources en utilisant les mêmes Kubernetes APIs et les mêmes outils que ceux que vous utilisez pour vos applications. Cette approche unifiée simplifie le flux de travail de gestion de votre infrastructure en éliminant le besoin de passer d'un outil à l'autre ou d'apprendre à utiliser infrastructure-as-code des systèmes distincts. Vous définissez vos AWS ressources de manière déclarative dans les manifestes Kubernetes, en activant 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, en corrigeant les dérives et en garantissant la cohérence au sein de votre infrastructure. Ce rapprochement continu signifie que les out-of-band modifications 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 sous forme de code. Vous pouvez configurer ACK pour gérer les ressources sur plusieurs AWS comptes et régions, en activant des architectures multicomptes complexes sans outils supplémentaires.
Pour les entreprises 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 la gestion d'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 pour éventuellement conserver 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 d'ACK etConsidérations relatives à l'ACK pour EKS.
AWS Services pris en charge
ACK prend en charge un large éventail 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 IAM
Tous les AWS services répertoriés comme généralement disponibles en amont sont pris en charge par la fonctionnalité EKS pour ACK. Consultez la liste complète des AWS services pris en charge
Intégration avec d'autres fonctionnalités gérées par EKS
ACK s'intègre aux 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 ArgoCD, 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 haut niveau 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 :
-
Créez et configurez un rôle de capacité IAM avec les autorisations nécessaires pour qu'ACK gère les AWS ressources en votre nom.
-
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.
-
Appliquez des ressources personnalisées Kubernetes à votre cluster pour commencer à gérer vos AWS ressources dans Kubernetes.