Buat kemampuan kro menggunakan eksctl - 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.

Buat kemampuan kro menggunakan eksctl

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, 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 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

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

Langkah 4: Berikan izin untuk mengelola sumber daya Kubernetes

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 Pertimbangan keamanan untuk Kemampuan EKS

Langkah 5: Verifikasi sumber daya kustom tersedia

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