View a markdown version of this page

Komposisi Sumber Daya dengan kro (Kube Resource Orchestrator) - Amazon EKS

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Komposisi Sumber Daya dengan kro (Kube Resource Orchestrator)

kro (Kube Resource Orchestrator) adalah Kubernetes-native proyek open-source yang memungkinkan Anda mendefinisikan Kubernetes API kustom menggunakan konfigurasi sederhana dan langsung. Dengan kro, Anda dapat dengan mudah mengonfigurasi API kustom baru yang membuat grup objek Kubernetes dan operasi logis di antara mereka.

Dengan Kemampuan EKS, kro dikelola sepenuhnya oleh AWS, menghilangkan kebutuhan untuk menginstal, memelihara, dan menskalakan pengontrol kro pada cluster Anda.

Bagaimana kro bekerja

kro memperkenalkan Custom Resource Definition (CRD) yang disebut ResourceGraphDefinition (RGD) yang memungkinkan pembuatan API Kubernetes kustom yang sederhana dan efisien. Saat Anda membuatResourceGraphDefinition, kro menggunakan ekstensi Kubernetes asli untuk membuat dan mengelola API baru di klaster Anda. Dari spesifikasi sumber daya tunggal ini, kro akan membuat dan mendaftarkan CRD baru untuk Anda berdasarkan spesifikasi Anda dan akan beradaptasi untuk mengelola sumber daya kustom Anda yang baru ditentukan.

RGD dapat menyertakan beberapa sumber daya, dan kro akan menentukan saling ketergantungan dan pemesanan sumber daya, jadi Anda tidak perlu melakukannya. Anda dapat menggunakan sintaks sederhana untuk menyuntikkan konfigurasi dari satu sumber daya ke sumber daya lainnya, sangat menyederhanakan komposisi dan menghilangkan kebutuhan akan operator “lem” di cluster Anda. Dengan kro, sumber daya kustom Anda dapat menyertakan sumber daya Kubernetes asli serta Definisi Sumber Daya Kustom (CRD) apa pun yang diinstal di cluster.

kro mendukung satu jenis sumber daya utama:

  • ResourceGraphDefinition (RGD): Mendefinisikan sumber daya kustom Kubernetes, merangkum satu atau beberapa sumber daya Kubernetes asli atau kustom yang mendasarinya

Selain sumber daya ini, kro akan membuat dan mengelola siklus hidup sumber daya kustom Anda yang dibuat dengannya, serta semua sumber daya konstituennya.

kro terintegrasi secara mulus dengan AWS Controllers for Kubernetes (ACK), memungkinkan Anda untuk menyusun sumber daya beban kerja dengan sumber daya untuk membuat abstraksi tingkat yang lebih tinggi. AWS Ini memungkinkan Anda untuk membuat blok bangunan cloud Anda sendiri, menyederhanakan manajemen sumber daya dan mengaktifkan pola yang dapat digunakan kembali dengan pengaturan konfigurasi default dan tidak dapat diubah berdasarkan standar organisasi Anda.

Manfaat kro

kro memungkinkan tim platform untuk membuat API Kubernetes kustom yang menyusun beberapa sumber daya menjadi abstraksi tingkat yang lebih tinggi. Ini menyederhanakan manajemen sumber daya dengan memungkinkan pengembang untuk menyebarkan aplikasi kompleks menggunakan sumber daya kustom yang sederhana, standar, dan berversi. Anda menentukan pola yang dapat digunakan kembali untuk kombinasi sumber daya umum, memungkinkan pembuatan sumber daya yang konsisten di seluruh organisasi Anda.

kro menggunakan Common Expression Language (CEL) di Kubernetes untuk meneruskan nilai antar sumber daya dan menggabungkan logika bersyarat, memberikan fleksibilitas dalam komposisi sumber daya. Anda dapat menyusun sumber daya Kubernetes dan AWS sumber daya yang dikelola oleh ACK ke dalam API kustom terpadu, memungkinkan definisi aplikasi dan infrastruktur yang lengkap.

kro mendukung konfigurasi deklaratif melalui manifes Kubernetes, memungkinkan GitOps alur kerja dan infrastruktur sebagai praktik kode yang terintegrasi secara mulus dengan proses pengembangan Anda yang ada. Sebagai bagian dari Kemampuan Terkelola EKS, kro dikelola sepenuhnya oleh AWS, menghilangkan kebutuhan untuk menginstal, mengonfigurasi, dan memelihara pengontrol kro di cluster Anda.

Contoh: Membuat ResourceGraphDefinition

Contoh berikut menunjukkan sederhana ResourceGraphDefinition yang membuat aplikasi web dengan Deployment dan Service:

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}

Saat pengguna membuat instance sumber daya WebApplication kustom, kro secara otomatis membuat sumber daya Deployment dan Service yang sesuai, mengelola siklus hidup mereka bersama dengan sumber daya kustom.

Integrasi dengan kemampuan terkelola EKS lainnya

kro terintegrasi dengan Kemampuan Terkelola EKS lainnya.

  • AWS Controller for Kubernetes (ACK): Gunakan kro untuk menyusun sumber daya ACK ke dalam abstraksi tingkat yang lebih tinggi, menyederhanakan manajemen sumber daya. AWS

  • Argo CD: Gunakan Argo CD untuk mengelola penyebaran sumber daya kustom kro di beberapa cluster, memungkinkan GitOps alur kerja untuk blok bangunan platform dan tumpukan aplikasi Anda.

Memulai dengan kro

Untuk memulai dengan Kemampuan EKS untuk kro:

  1. Buat sumber daya kemampuan kro di kluster EKS Anda melalui AWS Konsol, AWS CLI, atau infrastruktur pilihan Anda sebagai alat kode.

  2. Buat ResourceGraphDefinitions (RGD) yang menentukan API kustom dan komposisi sumber daya Anda.

  3. Terapkan instance sumber daya kustom Anda untuk menyediakan dan mengelola Kubernetes dan resource yang mendasarinya. AWS