View a markdown version of this page

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-native Open-Source-Projekt, mit dem Sie mithilfe einer einfachen und unkomplizierten Konfiguration benutzerdefinierte Kubernetes-APIs definieren können. Mit kro können Sie ganz einfach neue benutzerdefinierte APIs konfigurieren, die eine Gruppe von Kubernetes-Objekten und die logischen Operationen zwischen ihnen erstellen.

Mit EKS-Funktionen 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-APIs ermöglicht. Wenn Sie eine erstellenResourceGraphDefinition, verwendet kro native Kubernetes-Erweiterungen, um neue APIs in Ihrem Cluster zu erstellen und zu verwalten. 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 können mehrere Ressourcen umfassen, 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-APIs zu erstellen, 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 AWS Ressourcen zu einheitlichen benutzerdefinierten APIs zusammenstellen, 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 verwalteten EKS-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

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

  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. Erstellen Sie ResourceGraphDefinitions (RGDs), die Ihre benutzerdefinierten APIs und Ressourcenzusammensetzungen definieren.

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