

 **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.

# Buat kemampuan kro
<a name="create-kro-capability"></a>

Topik ini menjelaskan cara membuat kemampuan kro di cluster Amazon EKS Anda.

## Prasyarat
<a name="_prerequisites"></a>

Sebelum membuat kemampuan kro, pastikan Anda memiliki:
+ Cluster Amazon EKS yang sudah ada yang menjalankan versi Kubernetes yang didukung (semua versi dalam dukungan standar dan diperpanjang didukung)
+ Izin IAM yang memadai untuk membuat sumber daya kemampuan di kluster EKS
+ (Untuk CLI/Eksctl) Alat CLI yang sesuai diinstal dan dikonfigurasi

**catatan**  
Tidak seperti ACK dan Argo CD, kro tidak memerlukan izin IAM tambahan di luar kebijakan kepercayaan. kro beroperasi sepenuhnya di dalam cluster Anda dan tidak melakukan panggilan API. AWS Namun, Anda masih perlu memberikan Peran Kemampuan IAM dengan kebijakan kepercayaan yang sesuai. Untuk informasi tentang mengonfigurasi izin Kubernetes RBAC untuk kro, lihat. [Konfigurasikan izin kro](kro-permissions.md)

## Pilih alat Anda
<a name="_choose_your_tool"></a>

Anda dapat membuat kemampuan kro menggunakan, AWS CLI Konsol Manajemen AWS, atau eksctl:
+  [Buat kemampuan kro menggunakan Konsol](kro-create-console.md)- Gunakan Konsol untuk pengalaman terpandu
+  [Buat kemampuan kro menggunakan CLI AWS](kro-create-cli.md)- Gunakan AWS CLI untuk scripting dan otomatisasi
+  [Buat kemampuan kro menggunakan eksctl](kro-create-eksctl.md)- Gunakan eksctl untuk pengalaman asli Kubernetes

## Apa yang terjadi ketika Anda membuat kemampuan kro
<a name="_what_happens_when_you_create_a_kro_capability"></a>

Saat Anda membuat kemampuan kro:

1. EKS membuat layanan kemampuan kro dan mengonfigurasinya untuk memantau dan mengelola sumber daya di cluster Anda

1. Definisi Sumber Daya Kustom (CRDs) diinstal di klaster Anda

1. Entri akses dibuat secara otomatis untuk Peran Kemampuan IAM Anda `AmazonEKSKROPolicy` yang memberikan izin untuk mengelola ResourceGraphDefinitions dan instansinya (lihat) [Pertimbangan keamanan untuk Kemampuan EKS](capabilities-security.md)

1. Kemampuan mengasumsikan Peran Kemampuan IAM yang Anda berikan (hanya digunakan untuk hubungan kepercayaan)

1. kro mulai mengawasi `ResourceGraphDefinition` sumber daya dan instansinya

1. Status kemampuan berubah dari `CREATING` menjadi `ACTIVE` 

Setelah aktif, Anda dapat membuat ResourceGraphDefinitions untuk menentukan kustom APIs dan membuat instance dari mereka APIs.

**catatan**  
Entri akses yang dibuat secara otomatis mencakup `AmazonEKSKROPolicy` yang memberikan izin kro untuk mengelola ResourceGraphDefinitions dan instansinya. Untuk memungkinkan kro membuat sumber daya Kubernetes yang mendasari yang ditentukan dalam ResourceGraphDefinitions (seperti Deployment, Services, atau sumber daya ACK), Anda harus mengonfigurasi kebijakan entri akses tambahan. Untuk mempelajari lebih lanjut tentang entri akses dan cara mengonfigurasi izin tambahan, lihat [Konfigurasikan izin kro](kro-permissions.md) dan. [Pertimbangan keamanan untuk Kemampuan EKS](capabilities-security.md)

## Langkah selanjutnya
<a name="_next_steps"></a>

Setelah membuat kemampuan kro:
+  [konsep kro](kro-concepts.md)- Memahami konsep kro dan komposisi sumber daya
+  [konsep kro](kro-concepts.md)- Pelajari tentang SimpleSchema, ekspresi CEL, dan pola komposisi sumber daya

# Buat kemampuan kro menggunakan Konsol
<a name="kro-create-console"></a>

Topik ini menjelaskan cara membuat kapabilitas kro (Kube Resource Orchestrator) menggunakan. Konsol Manajemen AWS

## Buat kemampuan kro
<a name="_create_the_kro_capability"></a>

1. Buka konsol Amazon EKS di https://console.aws.amazon.com/eks/ rumah\$1/cluster.

1. Pilih nama cluster Anda untuk membuka halaman detail cluster.

1. Pilih tab **Kemampuan**.

1. Di navigasi kiri, pilih **kro (Kube Resource Orchestrator**).

1. Pilih **Buat kemampuan kro**.

1. Untuk **Peran Kemampuan IAM**:
   + Jika Anda sudah memiliki Peran Kemampuan IAM, pilih dari dropdown
   + Jika Anda perlu membuat peran, pilih **Buat peran kro** 

     Ini membuka konsol IAM di tab baru dengan kebijakan kepercayaan yang telah diisi sebelumnya. Peran ini tidak memerlukan izin IAM tambahan karena kro beroperasi sepenuhnya di dalam klaster Anda.

     Setelah membuat peran, kembali ke konsol EKS dan peran akan dipilih secara otomatis.
**catatan**  
Tidak seperti ACK dan Argo CD, kro tidak memerlukan izin IAM tambahan di luar kebijakan kepercayaan. kro beroperasi sepenuhnya di dalam cluster Anda dan tidak melakukan panggilan API. AWS 

1. Pilih **Buat**.

Proses pembuatan kapabilitas dimulai.

## Verifikasi kemampuan aktif
<a name="_verify_the_capability_is_active"></a>

1. Pada tab **Kemampuan**, lihat status kemampuan kro.

1. Tunggu status berubah dari `CREATING` ke`ACTIVE`.

1. Setelah aktif, kemampuan siap digunakan.

Untuk informasi tentang status kemampuan dan pemecahan masalah, lihat. [Bekerja dengan sumber daya kemampuan](working-with-capabilities.md)

## Berikan izin untuk mengelola sumber daya Kubernetes
<a name="_grant_permissions_to_manage_kubernetes_resources"></a>

Saat Anda membuat kemampuan kro, Entri Akses EKS secara otomatis dibuat dengan`AmazonEKSKROPolicy`, yang memungkinkan kro untuk mengelola ResourceGraphDefinitions dan instance-instancenya. Namun, tidak ada izin yang diberikan secara default untuk membuat sumber daya Kubernetes yang mendasarinya (seperti Deployment, Services ConfigMaps, dll.) yang ditentukan dalam file Anda. ResourceGraphDefinitions

Desain yang disengaja ini mengikuti prinsip hak istimewa terkecil—berbeda memerlukan izin yang berbeda ResourceGraphDefinitions . Anda harus secara eksplisit mengonfigurasi izin yang dibutuhkan kro berdasarkan sumber daya yang akan Anda kelola. ResourceGraphDefinitions 

Untuk memulai dengan cepat, pengujian, atau lingkungan pengembangan, gunakan`AmazonEKSClusterAdminPolicy`:

1. Di konsol EKS, navigasikan ke tab **Access** cluster Anda.

1. Di bawah **entri Access**, temukan entri untuk peran kemampuan kro Anda (itu akan memiliki peran ARN yang Anda buat sebelumnya).

1. Pilih entri akses untuk membuka detailnya.

1. Di bagian **Kebijakan akses**, pilih **Kebijakan akses asosiasi**.

1. Pilih `AmazonEKSClusterAdminPolicy` dari daftar kebijakan.

1. Untuk **cakupan Akses**, pilih **Cluster**.

1. Pilih **Kaitkan**.

**penting**  
Ini `AmazonEKSClusterAdminPolicy` memberikan izin luas untuk membuat dan mengelola semua sumber daya Kubernetes, termasuk kemampuan untuk membuat jenis sumber daya apa pun di semua ruang nama. Ini nyaman untuk pengembangan dan POCs tetapi tidak boleh digunakan dalam produksi. Untuk produksi, buat kebijakan RBAC khusus yang hanya memberikan izin yang diperlukan untuk sumber daya spesifik yang akan Anda ResourceGraphDefinitions kelola. Untuk panduan tentang mengonfigurasi izin hak istimewa terkecil, lihat dan. [Konfigurasikan izin kro](kro-permissions.md) [Pertimbangan keamanan untuk Kemampuan EKS](capabilities-security.md)

## Verifikasi sumber daya kustom tersedia
<a name="_verify_custom_resources_are_available"></a>

Setelah kemampuan aktif, verifikasi bahwa sumber daya kustom kro tersedia di klaster Anda.

 **Menggunakan konsol** 

1. Arahkan ke klaster Anda di konsol Amazon EKS

1. Pilih tab **Sumber Daya**

1. Pilih **Ekstensi** 

1. Pilih **CustomResourceDefinitions** 

Anda akan melihat jenis `ResourceGraphDefinition` sumber daya yang terdaftar.

 **Menggunakan kubectl** 

```
kubectl api-resources | grep kro.run
```

Anda akan melihat jenis `ResourceGraphDefinition` sumber daya yang terdaftar.

## Langkah selanjutnya
<a name="_next_steps"></a>
+  [konsep kro](kro-concepts.md)- Memahami konsep kro dan komposisi sumber daya
+  [konsep kro](kro-concepts.md)- Pelajari tentang SimpleSchema, ekspresi CEL, dan pola komposisi
+  [Bekerja dengan sumber daya kemampuan](working-with-capabilities.md)- Kelola sumber daya kemampuan kro Anda

# Buat kemampuan kro menggunakan CLI AWS
<a name="kro-create-cli"></a>

Topik ini menjelaskan cara membuat kapabilitas kro (Kube Resource Orchestrator) menggunakan CLI. AWS 

## Prasyarat
<a name="_prerequisites"></a>
+  ** AWS CLI** — Versi `2.12.3` atau yang lebih baru. Untuk memeriksa versi Anda, jalankan`aws --version`. Untuk informasi selengkapnya, lihat [Menginstal](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) di Panduan Pengguna Antarmuka Baris AWS Perintah.
+  **`kubectl`**— Alat baris perintah untuk bekerja dengan cluster Kubernetes. Untuk informasi selengkapnya, lihat [Mengatur `kubectl` dan `eksctl`](install-kubectl.md).

## Langkah 1: Buat Peran Kemampuan IAM
<a name="_step_1_create_an_iam_capability_role"></a>

Buat file kebijakan kepercayaan:

```
cat > kro-trust-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "capabilities.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
EOF
```

Buat peran IAM:

```
aws iam create-role \
  --role-name KROCapabilityRole \
  --assume-role-policy-document file://kro-trust-policy.json
```

**catatan**  
Tidak seperti ACK dan Argo CD, kro tidak memerlukan izin IAM tambahan. kro beroperasi sepenuhnya di dalam cluster Anda dan tidak melakukan panggilan API. AWS Peran tersebut hanya diperlukan untuk membangun hubungan kepercayaan dengan layanan kemampuan EKS.

## Langkah 2: Buat kemampuan kro
<a name="_step_2_create_the_kro_capability"></a>

Buat sumber daya kemampuan kro di cluster Anda. Ganti *region-code* dengan AWS Wilayah tempat klaster Anda berada (seperti`us-west-2`) dan *my-cluster* dengan nama cluster Anda.

```
aws eks create-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-kro \
  --type KRO \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/KROCapabilityRole \
  --delete-propagation-policy RETAIN
```

Perintah segera kembali, tetapi kemampuannya membutuhkan waktu untuk menjadi aktif karena EKS menciptakan infrastruktur dan komponen kemampuan yang diperlukan. EKS akan menginstal Definisi Sumber Daya Kustom Kubernetes yang terkait dengan kemampuan ini di cluster Anda saat sedang dibuat.

**catatan**  
Jika Anda menerima kesalahan bahwa klaster tidak ada atau Anda tidak memiliki izin, verifikasi:  
Nama cluster sudah benar
 AWS CLI Anda dikonfigurasi untuk wilayah yang benar
Anda memiliki izin IAM yang diperlukan

## Langkah 3: Verifikasi kemampuan aktif
<a name="_step_3_verify_the_capability_is_active"></a>

Tunggu kemampuan untuk menjadi aktif. Ganti *region-code* dengan AWS Region tempat cluster Anda berada dan ganti *my-cluster* dengan nama cluster Anda.

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-kro \
  --query 'capability.status' \
  --output text
```

Kemampuan siap ketika status ditampilkan`ACTIVE`.

Anda juga dapat melihat detail kemampuan lengkap:

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-kro
```

## Langkah 4: Berikan izin untuk mengelola sumber daya Kubernetes
<a name="_step_4_grant_permissions_to_manage_kubernetes_resources"></a>

Saat Anda membuat kemampuan kro, Entri Akses EKS secara otomatis dibuat dengan`AmazonEKSKROPolicy`, yang memungkinkan kro untuk mengelola ResourceGraphDefinitions dan instance-instancenya. Namun, tidak ada izin yang diberikan secara default untuk membuat sumber daya Kubernetes yang mendasarinya (seperti Deployment, Services ConfigMaps, dll.) yang ditentukan dalam file Anda. ResourceGraphDefinitions

Desain yang disengaja ini mengikuti prinsip hak istimewa terkecil—berbeda memerlukan izin yang berbeda ResourceGraphDefinitions . Misalnya: \$1 A ResourceGraphDefinition yang hanya membuat ConfigMaps dan Rahasia membutuhkan izin yang berbeda dari yang membuat Deployment dan Services \$1 A ResourceGraphDefinition yang membuat sumber daya ACK membutuhkan izin untuk sumber daya khusus tertentu \$1 Beberapa ResourceGraphDefinitions mungkin hanya membaca sumber daya yang ada tanpa membuat yang baru

Anda harus secara eksplisit mengonfigurasi izin yang dibutuhkan kro berdasarkan sumber daya yang akan Anda kelola. ResourceGraphDefinitions 

### Pengaturan cepat
<a name="_quick_setup"></a>

Untuk memulai dengan cepat, pengujian, atau lingkungan pengembangan, gunakan`AmazonEKSClusterAdminPolicy`:

Dapatkan peran kapabilitas ARN:

```
CAPABILITY_ROLE_ARN=$(aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-kro \
  --query 'capability.roleArn' \
  --output text)
```

Kaitkan kebijakan admin klaster:

```
aws eks associate-access-policy \
  --region region-code \
  --cluster-name my-cluster \
  --principal-arn $CAPABILITY_ROLE_ARN \
  --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \
  --access-scope type=cluster
```

**penting**  
Ini `AmazonEKSClusterAdminPolicy` memberikan izin luas untuk membuat dan mengelola semua sumber daya Kubernetes, termasuk kemampuan untuk membuat jenis sumber daya apa pun di semua ruang nama. Ini nyaman untuk pengembangan dan POCs tetapi tidak boleh digunakan dalam produksi. Untuk produksi, buat kebijakan RBAC khusus yang hanya memberikan izin yang diperlukan untuk sumber daya spesifik yang akan Anda ResourceGraphDefinitions kelola. Untuk panduan tentang mengonfigurasi izin hak istimewa terkecil, lihat dan. [Konfigurasikan izin kro](kro-permissions.md) [Pertimbangan keamanan untuk Kemampuan EKS](capabilities-security.md)

## Langkah 5: Verifikasi sumber daya kustom tersedia
<a name="_step_5_verify_custom_resources_are_available"></a>

Setelah kemampuan aktif, verifikasi bahwa sumber daya kustom kro tersedia di klaster Anda:

```
kubectl api-resources | grep kro.run
```

Anda akan melihat jenis `ResourceGraphDefinition` sumber daya yang terdaftar.

## Langkah selanjutnya
<a name="_next_steps"></a>
+  [konsep kro](kro-concepts.md)- Memahami konsep kro dan komposisi sumber daya
+  [konsep kro](kro-concepts.md)- Pelajari tentang SimpleSchema, ekspresi CEL, dan pola komposisi
+  [Bekerja dengan sumber daya kemampuan](working-with-capabilities.md)- Kelola sumber daya kemampuan kro Anda

# Buat kemampuan kro menggunakan eksctl
<a name="kro-create-eksctl"></a>

Topik ini menjelaskan cara membuat kapabilitas kro (Kube Resource Orchestrator) menggunakan eksctl.

**catatan**  
Langkah-langkah berikut memerlukan versi `0.220.0` eksctl atau yang lebih baru. Untuk memeriksa versi Anda, jalankan`eksctl version`.

## Langkah 1: Buat Peran Kemampuan IAM
<a name="_step_1_create_an_iam_capability_role"></a>

Buat file kebijakan kepercayaan:

```
cat > kro-trust-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "capabilities.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
EOF
```

Buat peran IAM:

```
aws iam create-role \
  --role-name KROCapabilityRole \
  --assume-role-policy-document file://kro-trust-policy.json
```

**catatan**  
Tidak seperti ACK dan Argo CD, kro tidak memerlukan izin IAM tambahan di luar kebijakan kepercayaan. kro beroperasi sepenuhnya di dalam cluster Anda dan tidak melakukan panggilan API. AWS 

## Langkah 2: Buat kemampuan kro
<a name="_step_2_create_the_kro_capability"></a>

Buat kemampuan kro menggunakan eksctl. Ganti *region-code* dengan AWS Region tempat cluster Anda berada dan ganti *my-cluster* dengan nama cluster Anda.

```
eksctl create capability \
  --region region-code \
  --cluster my-cluster \
  --name my-kro \
  --type KRO \
  --role-arn arn:aws:iam::[.replaceable]111122223333:role/KROCapabilityRole
```

Perintah segera kembali, tetapi kemampuannya membutuhkan waktu untuk menjadi aktif.

## Langkah 3: Verifikasi kemampuan aktif
<a name="_step_3_verify_the_capability_is_active"></a>

Periksa status kemampuan. Ganti *region-code* dengan AWS Region tempat cluster Anda berada dan ganti *my-cluster* dengan nama cluster Anda.

```
eksctl get capability \
  --region region-code \
  --cluster my-cluster \
  --name my-kro
```

Kemampuan siap ketika status ditampilkan`ACTIVE`.

## Langkah 4: Berikan izin untuk mengelola sumber daya Kubernetes
<a name="_step_4_grant_permissions_to_manage_kubernetes_resources"></a>

Secara default, kro hanya dapat membuat dan mengelola ResourceGraphDefinitions dan instance mereka. Untuk memungkinkan kro membuat dan mengelola sumber daya Kubernetes yang mendasari yang ditentukan dalam Anda ResourceGraphDefinitions, kaitkan kebijakan `AmazonEKSClusterAdminPolicy` akses dengan entri akses kapabilitas.

Dapatkan peran kapabilitas ARN:

```
CAPABILITY_ROLE_ARN=$(aws eks describe-capability \
  --region region-code \
  --cluster my-cluster \
  --name my-kro \
  --query 'capability.roleArn' \
  --output text)
```

Kaitkan kebijakan admin klaster:

```
aws eks associate-access-policy \
  --region region-code \
  --cluster my-cluster \
  --principal-arn $CAPABILITY_ROLE_ARN \
  --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \
  --access-scope type=cluster
```

**penting**  
Ini `AmazonEKSClusterAdminPolicy` memberikan izin luas untuk membuat dan mengelola semua sumber daya Kubernetes dan dimaksudkan untuk merampingkan memulai. Untuk penggunaan produksi, buat kebijakan RBAC yang lebih ketat yang hanya memberikan izin yang diperlukan untuk sumber daya spesifik yang akan Anda kelola. ResourceGraphDefinitions Untuk panduan tentang mengonfigurasi izin hak istimewa paling sedikit, lihat dan. [Konfigurasikan izin kro](kro-permissions.md) [Pertimbangan keamanan untuk Kemampuan EKS](capabilities-security.md)

## Langkah 5: Verifikasi sumber daya kustom tersedia
<a name="_step_5_verify_custom_resources_are_available"></a>

Setelah kemampuan aktif, verifikasi bahwa sumber daya kustom kro tersedia di klaster Anda:

```
kubectl api-resources | grep kro.run
```

Anda akan melihat jenis `ResourceGraphDefinition` sumber daya yang terdaftar.

## Langkah selanjutnya
<a name="_next_steps"></a>
+  [konsep kro](kro-concepts.md)- Memahami konsep kro dan komposisi sumber daya
+  [konsep kro](kro-concepts.md)- Pelajari tentang SimpleSchema, ekspresi CEL, dan pola komposisi
+  [Bekerja dengan sumber daya kemampuan](working-with-capabilities.md)- Kelola sumber daya kemampuan kro Anda