Zusammenstellung von Ressourcen mit kro (Kube Resource Orchestrator) - 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.

Zusammenstellung von Ressourcen mit kro (Kube Resource Orchestrator)

kro (Kube Resource Orchestrator) ist ein Kubernetes-natives Open-Source-Projekt, mit dem Sie benutzerdefinierte Kubernetes mithilfe einer einfachen und unkomplizierten Konfiguration definieren können. APIs Mit kro können Sie ganz einfach neue benutzerdefinierte Objekte konfigurieren, die eine Gruppe von Kubernetes-Objekten und APIs die logischen Operationen zwischen ihnen erstellen.

Mit EKS Capabilities wird kro vollständig von verwaltet AWS, sodass Sie Kro-Controller nicht mehr auf Ihren Clustern installieren, warten und skalieren müssen.

Wie funktioniert Kro

kro führt eine benutzerdefinierte Ressourcendefinition (CRD) namens ResourceGraphDefinition (RGD) ein, die die einfache und optimierte Erstellung von benutzerdefinierten Kubernetes ermöglicht. APIs Wenn Sie eine erstellen, verwendet Kro native Kubernetes-ErweiterungenResourceGraphDefinition, um neue in Ihrem Cluster zu erstellen und zu verwalten. APIs Auf der Grundlage dieser einzelnen Ressourcenspezifikation erstellt und registriert kro für Sie eine neue CRD auf der Grundlage Ihrer Spezifikation und passt sich an die Verwaltung Ihrer neu definierten benutzerdefinierten Ressourcen an.

RGDs kann mehrere Ressourcen beinhalten, und Kro bestimmt die gegenseitigen Abhängigkeiten und die Reihenfolge der Ressourcen, sodass Sie sich nicht darum kümmern müssen. Sie können eine einfache Syntax verwenden, um Konfigurationen von einer Ressource in eine andere zu übertragen, wodurch Kompositionen erheblich vereinfacht werden und die Notwendigkeit von „Glue“ -Operatoren in Ihrem Cluster entfällt. Mit kro können Ihre benutzerdefinierten Ressourcen sowohl native Kubernetes-Ressourcen als auch alle im Cluster installierten benutzerdefinierten Ressourcendefinitionen (CRDs) enthalten.

kro unterstützt einen einzigen primären Ressourcentyp:

  • ResourceGraphDefinition (RGD): Definiert eine benutzerdefinierte Kubernetes-Ressource, die eine oder mehrere zugrunde liegende native oder benutzerdefinierte Kubernetes-Ressourcen kapselt

Zusätzlich zu dieser Ressource erstellt und verwaltet kro den Lebenszyklus Ihrer damit erstellten benutzerdefinierten Ressourcen sowie aller zugehörigen Ressourcen.

kro lässt sich nahtlos in AWS Controllers for Kubernetes (ACK) integrieren, sodass Sie Workload-Ressourcen mit AWS Ressourcen zusammenstellen können, um Abstraktionen auf höherer Ebene zu erstellen. Auf diese Weise können Sie Ihre eigenen Cloud-Bausteine erstellen, das Ressourcenmanagement vereinfachen und wiederverwendbare Muster mit standardmäßigen und unveränderlichen Konfigurationseinstellungen ermöglichen, die auf Ihren Unternehmensstandards basieren.

Vorteile von Kro

kro ermöglicht es Plattformteams, benutzerdefinierte Kubernetes zu erstellen, APIs die mehrere Ressourcen zu Abstraktionen auf höherer Ebene zusammensetzen. Dies vereinfacht das Ressourcenmanagement, da Entwickler komplexe Anwendungen mithilfe einfacher, standardisierter und versionierter benutzerdefinierter Ressourcen bereitstellen können. Sie definieren wiederverwendbare Muster für gängige Ressourcenkombinationen und ermöglichen so eine konsistente Ressourcenerstellung in Ihrer gesamten Organisation.

kro verwendet Common Expression Language (CEL) in Kubernetes, um Werte zwischen Ressourcen zu übergeben und bedingte Logik zu integrieren, was Flexibilität bei der Ressourcenzusammensetzung bietet. Sie können sowohl Kubernetes-Ressourcen als auch von ACK verwaltete Ressourcen zu einheitlichen benutzerdefinierten AWS Ressourcen zusammenfassen APIs, sodass vollständige Anwendungs- und Infrastrukturdefinitionen möglich sind.

kro unterstützt die deklarative Konfiguration über Kubernetes-Manifeste und ermöglicht so GitOps Workflows und Infrastruktur als Code-Praktiken, die sich nahtlos in Ihre bestehenden Entwicklungsprozesse integrieren lassen. Als Teil von EKS Managed Capabilities wird kro vollständig von verwaltet AWS, sodass Sie keine Kro-Controller auf Ihren Clustern installieren, konfigurieren und warten müssen.

Beispiel: Erstellen eines ResourceGraphDefinition

Das folgende Beispiel zeigt ein einfaches BeispielResourceGraphDefinition, das eine Webanwendung mit einem Deployment und einem Service erstellt:

apiVersion: kro.run/v1alpha1 kind: ResourceGraphDefinition metadata: name: web-application spec: schema: apiVersion: v1alpha1 kind: WebApplication spec: name: string replicas: integer | default=3 resources: - id: deployment template: apiVersion: apps/v1 kind: Deployment metadata: name: ${schema.spec.name} spec: replicas: ${schema.spec.replicas} - id: service template: apiVersion: v1 kind: Service metadata: name: ${schema.spec.name}

Wenn Benutzer Instanzen der WebApplication benutzerdefinierten Ressource erstellen, erstellt Kro automatisch die entsprechenden Bereitstellungs- und Dienstressourcen und verwaltet deren Lebenszyklus zusammen mit der benutzerdefinierten Ressource.

Integration mit anderen von EKS verwalteten Funktionen

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

  • AWS Controller für Kubernetes (ACK): Verwenden Sie Kro, um ACK-Ressourcen in Abstraktionen auf höherer Ebene zusammenzustellen und so das Ressourcenmanagement zu vereinfachen. AWS

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

Erste Schritte mit Kro

Um mit der EKS-Funktion für kro zu beginnen:

  1. Erstellen Sie eine Kro-Capability-Ressource auf Ihrem EKS-Cluster über die AWS Konsole, AWS CLI oder Ihr bevorzugtes Infrastructure-as-Code-Tool.

  2. Create ResourceGraphDefinitions (RGDs), die Ihre benutzerdefinierte Zusammensetzung APIs und Ihre Ressourcenzusammensetzung definieren.

  3. Wenden Sie Instanzen Ihrer benutzerdefinierten Ressourcen an, um die zugrunde liegenden Kubernetes und Ressourcen bereitzustellen und AWS zu verwalten.