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.3atau 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 \ --regionregion-code\ --cluster-namemy-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
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 \ --regionregion-code\ --cluster-namemy-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 \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-kro
Langkah 4: Berikan izin untuk mengelola sumber daya Kubernetes
Saat Anda membuat kemampuan kro, Entri Akses EKS secara otomatis dibuat denganAmazonEKSKROPolicy, 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: * A ResourceGraphDefinition yang hanya membuat ConfigMaps dan Rahasia membutuhkan izin yang berbeda dari yang membuat Deployment dan Services * A ResourceGraphDefinition yang membuat sumber daya ACK membutuhkan izin untuk sumber daya khusus tertentu * 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
Untuk memulai dengan cepat, pengujian, atau lingkungan pengembangan, gunakanAmazonEKSClusterAdminPolicy:
Dapatkan peran kapabilitas ARN:
CAPABILITY_ROLE_ARN=$(aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-kro \ --query 'capability.roleArn' \ --output text)
Kaitkan kebijakan admin klaster:
aws eks associate-access-policy \ --regionregion-code\ --cluster-namemy-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 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
-
konsep kro- Memahami konsep kro dan komposisi sumber daya
-
konsep kro- Pelajari tentang SimpleSchema, ekspresi CEL, dan pola komposisi
-
Bekerja dengan sumber daya kemampuan- Kelola sumber daya kemampuan kro Anda