Stellen Sie AWS Ressourcen aus Kubernetes mit AWS Controllers for Kubernetes (ACK) bereit - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Stellen Sie AWS Ressourcen aus Kubernetes mit AWS Controllers for Kubernetes (ACK) bereit

AWS Mit Controllers for Kubernetes (ACK) können Sie Serviceressourcen direkt von Kubernetes aus definieren und verwalten. AWS Mit AWS Controllers for Kubernetes (ACK) können Sie Workload-Ressourcen und Cloud-Infrastruktur mithilfe von benutzerdefinierten Kubernetes-Ressourcen direkt neben Ihren Anwendungs-Workloads mit vertrauten Kubernetes und Tools verwalten. APIs

Mit EKS-Funktionen wird ACK vollständig verwaltet AWS, sodass Sie keine ACK-Controller auf Ihren Clustern installieren, warten und skalieren müssen.

Wie funktioniert ACK

ACK übersetzt benutzerdefinierte Kubernetes-Ressourcenspezifikationen in AWS API-Aufrufe. Wenn Sie eine benutzerdefinierte Kubernetes-Ressource, die eine AWS Dienstressource darstellt, erstellen, aktualisieren oder löschen, führt ACK die erforderlichen AWS API-Aufrufe durch, um die Ressource zu erstellen, zu aktualisieren oder zu löschen. AWS

Jede von ACK unterstützte AWS Ressource hat ihre eigene benutzerdefinierte Ressourcendefinition (CRD), die das Kubernetes-API-Schema für die Angabe ihrer Konfiguration definiert. ACK bietet CRDs beispielsweise S3 einschließlich Buckets, Bucket-Richtlinien und andere S3-Ressourcen.

ACK gleicht den Status Ihrer AWS Ressourcen kontinuierlich mit dem gewünschten Status ab, der in Ihren benutzerdefinierten Kubernetes-Ressourcen definiert ist. Wenn eine Ressource von ihrem gewünschten Zustand abweicht, erkennt ACK dies und ergreift Korrekturmaßnahmen, um sie wieder in Einklang zu bringen. Änderungen an Kubernetes-Ressourcen wirken sich sofort auf den AWS Ressourcenstatus aus, während die passive Drift-Erkennung und Behebung von AWS Upstream-Ressourcenänderungen bis zu 10 Stunden dauern kann (die Resynchronisierungszeit), in der Regel jedoch viel früher erfolgt.

Beispiel für ein S3-Bucket-Ressourcenmanifest

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

Wenn Sie diese benutzerdefinierte Ressource auf Ihren Cluster anwenden, erstellt ACK einen Amazon S3 S3-Bucket in Ihrem Konto, falls dieser noch nicht vorhanden ist. Spätere Änderungen an dieser Ressource, z. B. die Angabe einer nicht standardmäßigen Speicherstufe oder das Hinzufügen einer Richtlinie, werden auf die S3-Ressource in AWS angewendet. Wenn diese Ressource aus dem Cluster gelöscht wird, wird der AWS darin enthaltene S3-Bucket standardmäßig gelöscht.

Vorteile von ACK

ACK bietet Kubernetes-natives AWS Ressourcenmanagement, sodass Sie AWS Ressourcen mit demselben Kubernetes APIs und denselben Tools verwalten können, die Sie für Ihre Anwendungen verwenden. Dieser einheitliche Ansatz vereinfacht Ihren Infrastrukturmanagement-Workflow, da Sie nicht mehr zwischen verschiedenen Tools wechseln oder separate Systeme erlernen müssen. infrastructure-as-code Sie definieren Ihre AWS Ressourcen deklarativ in Kubernetes-Manifesten und ermöglichen so GitOps Workflows und Infrastruktur als Code-Praktiken, die sich nahtlos in Ihre bestehenden Entwicklungsprozesse integrieren lassen.

ACK gleicht kontinuierlich den gewünschten Zustand Ihrer AWS Ressourcen mit ihrem tatsächlichen Zustand ab, korrigiert Abweichungen und sorgt für Konsistenz in Ihrer gesamten Infrastruktur. Dieser kontinuierliche Abgleich bedeutet, dass wichtige out-of-band Änderungen an AWS Ressourcen automatisch rückgängig gemacht werden, sodass sie Ihrer deklarierten Konfiguration entsprechen, sodass die Integrität Ihrer Infrastruktur als Code gewahrt bleibt. Sie können ACK so konfigurieren, dass Ressourcen über mehrere AWS Konten und Regionen hinweg verwaltet werden, sodass komplexe Architekturen mit mehreren Konten ohne zusätzliche Tools ermöglicht werden.

Für Unternehmen, die von anderen Infrastrukturmanagement-Tools migrieren, unterstützt ACK die Einführung von Ressourcen, sodass Sie vorhandene AWS Ressourcen unter das ACK-Management stellen können, ohne sie neu erstellen zu müssen. ACK bietet außerdem schreibgeschützte Ressourcen für die AWS Ressourcenbeobachtung ohne Änderungszugriff sowie Anmerkungen, um AWS Ressourcen optional auch dann beizubehalten, wenn die Kubernetes-Ressource aus dem Cluster gelöscht wird.

Weitere Informationen und erste Schritte mit der EKS-Funktion für ACK finden Sie unter und. ACK-Konzepte ACK-Überlegungen für EKS

Unterstützte AWS Dienste

ACK unterstützt eine breite Palette von AWS Diensten, einschließlich, aber nicht beschränkt auf:

  • Amazon EC2

  • Amazon S3

  • Amazon RDS

  • Amazon DynamoDB

  • Amazon ElastiCache

  • Amazon EKS

  • Amazon SQS

  • Amazon SNS

  • AWS Lambda

  • AWS ICH BIN

Alle AWS Dienste, die im Upstream-Bereich als allgemein verfügbar aufgeführt sind, werden von der EKS-Funktion für ACK unterstützt. Einzelheiten finden Sie in der vollständigen Liste der unterstützten AWS Dienste.

Integration mit anderen von EKS verwalteten Funktionen

ACK lässt sich in andere von EKS verwaltete Funktionen integrieren.

  • Argo CD: Verwenden Sie Argo CD, um die Bereitstellung von ACK-Ressourcen in mehreren Clustern zu verwalten und so GitOps Workflows für Ihre AWS Infrastruktur zu ermöglichen.

    • ACK erweitert die Vorteile von GitOps , wenn es mit ArgoCD kombiniert wird, aber ACK erfordert keine Integration mit Git.

  • kro (Kube Resource Orchestrator): Verwenden Sie Kro, um komplexe Ressourcen aus ACK-Ressourcen zusammenzustellen und so Abstraktionen auf höherer Ebene zu erstellen, die das Ressourcenmanagement vereinfachen.

    • Sie können mit kro zusammengesetzte benutzerdefinierte Ressourcen erstellen, die sowohl Kubernetes-Ressourcen als auch Ressourcen definieren. AWS Teammitglieder können diese benutzerdefinierten Ressourcen verwenden, um komplexe Anwendungen schnell bereitzustellen.

Erste Schritte mit ACK

Erste Schritte mit der EKS-Funktion für ACK:

  1. Erstellen und konfigurieren Sie eine IAM-Capability-Rolle mit den erforderlichen Berechtigungen, damit ACK AWS Ressourcen in Ihrem Namen verwalten kann.

  2. Erstellen Sie eine ACK-Fähigkeitsressource auf Ihrem EKS-Cluster über die AWS Konsole, AWS CLI oder Ihr bevorzugtes Infrastructure-as-Code-Tool.

  3. Wenden Sie benutzerdefinierte Kubernetes-Ressourcen auf Ihren Cluster an, um mit der Verwaltung Ihrer AWS Ressourcen in Kubernetes zu beginnen.