Buat kemampuan kro menggunakan CLI AWS - 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 CLI AWS

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

Prasyarat

  • AWS CLI — Versi 2.12.3 atau yang lebih baru. Untuk memeriksa versi Anda, jalankanaws --version. Untuk informasi selengkapnya, lihat Menginstal di Panduan Pengguna Antarmuka Baris AWS Perintah.

  • kubectl— Alat baris perintah untuk bekerja dengan cluster Kubernetes. Untuk informasi selengkapnya, lihat Mengatur kubectl dan eksctl.

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

Buat sumber daya kemampuan kro di cluster Anda. Ganti region-code dengan AWS Wilayah tempat klaster Anda berada (sepertius-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 klaster sudah benar

  • AWS CLI Anda dikonfigurasi untuk wilayah yang benar

  • Anda memiliki izin IAM yang diperlukan

Langkah 3: Verifikasi kemampuan aktif

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

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

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