View a markdown version of this page

Buat kemampuan kro menggunakan eksctl - Amazon EKS

Bantu meningkatkan 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 GitHub tautan Edit halaman ini di 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 menggunakan eksctl

Buat kemampuan kro di cluster Amazon EKS Anda menggunakan eksctl.

catatan

Langkah-langkah berikut memerlukan versi eksctl 0.215.0 atau yang lebih baru. Untuk memeriksa versi Anda, jalankaneksctl version.

Langkah 1: Buat Peran Kemampuan IAM

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

Buat kemampuan kro menggunakan eksctl. Ganti region-code dengan AWS Wilayah 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::111122223333:role/KROCapabilityRole

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

Langkah 3: Verifikasi kemampuan aktif

Periksa status kemampuan. Ganti region-code dengan AWS Wilayah 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 ditampilkanACTIVE.

Langkah 4: Berikan izin untuk mengelola sumber daya Kubernetes

Secara default, kro hanya dapat membuat dan mengelola ResourceGraphDefinitions dan instansnya. Untuk mengizinkan kro membuat dan mengelola sumber daya Kubernetes yang mendasari yang ditentukan dalam sumber daya Anda ResourceGraphDefinitions, kaitkan kebijakan AmazonEKSClusterAdminPolicy akses dengan entri akses kemampuan.

Dapatkan peran kemampuan ARN:

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

Mengaitkan kebijakan admin cluster:

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 dan dimaksudkan untuk merampingkan memulai. Untuk penggunaan produksi, buat kebijakan RBAC yang lebih ketat yang hanya memberikan izin yang diperlukan untuk sumber daya tertentu yang ResourceGraphDefinitions akan Anda kelola. Untuk panduan tentang mengonfigurasi izin hak istimewa terkecil, lihat dan. Konfigurasikan izin kro Pertimbangan keamanan untuk Kemampuan EKS

Langkah 5: Verifikasi sumber daya khusus tersedia

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

kubectl api-resources | grep kro.run

Anda akan melihat jenis ResourceGraphDefinition sumber daya yang terdaftar.

Langkah selanjutnya