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.
Pertimbangan Argo CD
Topik ini mencakup pertimbangan penting untuk menggunakan Kemampuan EKS untuk Argo CD, termasuk perencanaan, izin, otentikasi, dan pola penyebaran multi-cluster.
Perencanaan
Sebelum menerapkan Argo CD, pertimbangkan hal berikut:
Strategi repositori: Tentukan di mana manifes aplikasi Anda akan disimpan (CodeCommit,, GitHub GitLab, Bitbucket). Rencanakan struktur repositori dan strategi percabangan Anda untuk lingkungan yang berbeda.
Metode otentikasi: Putuskan apakah akan menggunakan Pusat AWS Identitas untuk SSO atau mengelola pengguna Argo CD secara langsung. SSO direkomendasikan untuk lingkungan produksi.
Strategi RBAC: Rencanakan tim atau pengguna mana yang harus memiliki akses admin, editor, atau penampil. Petakan ini ke grup Pusat AWS Identitas atau peran CD Argo.
Arsitektur multi-cluster: Tentukan apakah Anda akan mengelola beberapa cluster dari satu instance Argo CD. Pertimbangkan untuk menggunakan cluster manajemen khusus untuk Argo CD.
Organisasi aplikasi: Rencanakan bagaimana Anda akan menyusun Aplikasi dan ApplicationSets. Pertimbangkan untuk menggunakan proyek untuk mengatur aplikasi berdasarkan tim atau lingkungan.
Kebijakan sinkronisasi: Putuskan apakah aplikasi harus disinkronkan secara otomatis atau memerlukan persetujuan manual. Sinkronisasi otomatis adalah umum untuk pengembangan, manual untuk produksi.
Izin
Untuk informasi rinci tentang Peran Kemampuan IAM, kebijakan kepercayaan, dan praktik terbaik keamanan, lihat Peran IAM kemampuan Amazon EKS danPertimbangan keamanan untuk Kemampuan EKS.
Ikhtisar Peran Kemampuan IAM
Saat Anda membuat sumber daya kemampuan Argo CD, Anda menyediakan Peran Kemampuan IAM. Tidak seperti ACK, Argo CD terutama mengelola sumber daya Kubernetes, bukan sumber daya secara langsung. AWS Namun, peran IAM diperlukan untuk:
-
Mengakses repositori Git pribadi di CodeCommit
-
Integrasi dengan Pusat AWS Identitas untuk otentikasi
-
Mengakses AWS rahasia di Secrets Manager (jika dikonfigurasi)
-
Penerapan lintas-cluster ke cluster EKS lainnya
CodeCommit integrasi
Jika Anda menggunakan CodeCommit repositori, lampirkan kebijakan dengan izin baca:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull" ], "Resource": "*" } ] }
penting
Untuk penggunaan produksi, batasi Resource bidang ke repositori tertentu ARNs alih-alih menggunakan. "*"
Contoh:
"Resource": "arn:aws:codecommit:us-west-2:111122223333:my-app-repo"
Ini membatasi akses Argo CD hanya ke repositori yang perlu dikelola.
Integrasi Secrets Manager
Jika Anda menyimpan kredensyal repositori di Secrets Manager, lampirkan kebijakan dengan izin baca:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:*:*:secret:argocd/*" } ] }
Pengaturan dasar
Untuk fungsionalitas CD Argo dasar dengan repositori Git publik, tidak ada kebijakan IAM tambahan yang diperlukan di luar kebijakan kepercayaan.
Autentikasi
AWS Integrasi Pusat Identitas
Kemampuan terkelola Argo CD terintegrasi langsung dengan AWS Identity Center (sebelumnya AWS SSO), memungkinkan Anda menggunakan penyedia identitas yang ada untuk otentikasi.
Saat Anda mengonfigurasi integrasi Pusat AWS Identitas:
-
Pengguna mengakses Argo CD UI melalui konsol EKS
-
Mereka mengautentikasi menggunakan Pusat AWS Identitas (yang dapat berfederasi ke penyedia identitas perusahaan Anda)
-
AWS Identity Center menyediakan informasi pengguna dan grup ke Argo CD
-
Argo CD memetakan pengguna dan grup ke peran RBAC berdasarkan konfigurasi Anda
-
Pengguna hanya melihat aplikasi dan sumber daya yang mereka miliki izin untuk diakses
Menyederhanakan akses dengan set izin Pusat Identitas
AWS Identity Center menyediakan dua jalur otentikasi yang berbeda saat bekerja dengan Argo CD:
Otentikasi Argo CD API: Identity Center menyediakan otentikasi SSO ke UI dan API Argo CD. Ini dikonfigurasi melalui pemetaan peran RBAC kemampuan Argo CD.
Akses kluster EKS: Kemampuan Argo CD menggunakan peran IAM yang disediakan pelanggan untuk mengautentikasi dengan kluster EKS melalui entri akses. Entri akses ini dapat dikonfigurasi secara manual untuk menambah atau menghapus izin.
Anda dapat menggunakan set izin Pusat Identitas untuk menyederhanakan manajemen identitas dengan mengizinkan satu identitas untuk mengakses kluster Argo CD dan EKS. Ini mengurangi overhead dengan mengharuskan Anda mengelola hanya satu identitas di kedua sistem, daripada mempertahankan kredensi terpisah untuk akses CD Argo dan akses cluster.
Pemetaan peran RBAC
Argo CD memiliki peran bawaan yang dapat Anda petakan ke pengguna dan grup Pusat AWS Identitas:
ADMIN: Akses penuh ke semua aplikasi dan pengaturan. Dapat membuat, memperbarui, dan menghapus aplikasi. Dapat mengelola konfigurasi Argo CD.
EDITOR: Dapat membuat dan memodifikasi aplikasi. Tidak dapat mengubah pengaturan CD Argo atau menghapus aplikasi.
VIEWER: Akses hanya-baca ke aplikasi. Dapat melihat status dan riwayat aplikasi. Tidak dapat membuat perubahan.
catatan
Nama peran peka huruf besar/kecil dan harus huruf besar (ADMIN, EDITOR, VIEWER).
penting
Integrasi Kemampuan EKS dengan AWS Identity Center mendukung hingga 1.000 identitas per kemampuan Argo CD. Identitas dapat berupa pengguna atau grup.
Penerapan multi-cluster
Kemampuan terkelola Argo CD mendukung penerapan multi-cluster, memungkinkan Anda mengelola aplikasi di seluruh cluster pengembangan, pementasan, dan produksi dari satu instance CD Argo.
Cara kerja multi-cluster
Saat Anda mendaftarkan cluster tambahan dengan Argo CD:
-
Anda membuat rahasia cluster yang mereferensikan kluster EKS target oleh ARN
-
Anda membuat Aplikasi atau ApplicationSets yang menargetkan cluster yang berbeda
-
Argo CD terhubung ke setiap cluster untuk menyebarkan aplikasi dan menonton sumber daya
-
Anda melihat dan mengelola semua cluster dari satu Argo CD UI
Prasyarat untuk multi-cluster
Sebelum mendaftarkan cluster tambahan:
-
Buat Entri Akses pada cluster target untuk peran kemampuan Argo CD
-
Pastikan konektivitas jaringan antara kemampuan Argo CD dan cluster target
-
Verifikasi izin IAM untuk mengakses kluster target
Daftarkan klaster
Daftarkan cluster menggunakan Kubernetes Secrets di namespace. argocd
Dapatkan ARN cluster target. Ganti region-code dengan AWS Region tempat cluster target Anda berada dan ganti target-cluster dengan nama cluster target Anda.
aws eks describe-cluster \ --regionregion-code\ --nametarget-cluster\ --query 'cluster.arn' \ --output text
Buat rahasia cluster menggunakan ARN cluster:
apiVersion: v1 kind: Secret metadata: name: target-cluster namespace: argocd labels: argocd.argoproj.io/secret-type: cluster type: Opaque stringData: name: target-cluster server: arn:aws:eks:us-west-2:111122223333:cluster/target-cluster project: default
penting
Gunakan ARN cluster EKS di server bidang, bukan URL server API Kubernetes. Kemampuan yang dikelola diperlukan ARNs untuk mengidentifikasi cluster target.
Terapkan rahasianya:
kubectl apply -f cluster-secret.yaml
Konfigurasikan Entri Akses pada kluster target
Cluster target harus memiliki Entri Akses yang memberikan izin peran kemampuan Argo CD untuk menyebarkan aplikasi. Ganti region-code dengan AWS Region tempat cluster target Anda berada, ganti target-cluster dengan nama cluster target Anda, dan ganti ARN dengan peran kemampuan Argo CD ARN Anda.
aws eks create-access-entry \ --regionregion-code\ --cluster-nametarget-cluster\ --principal-arn arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole\ --type STANDARD \ --kubernetes-groups system:masters
catatan
Untuk penggunaan produksi, pertimbangkan untuk menggunakan grup Kubernetes yang lebih ketat daripada grup Kubernetes. system:masters
Akses klaster pribadi
Kemampuan terkelola Argo CD dapat diterapkan ke cluster EKS yang sepenuhnya pribadi tanpa memerlukan peering VPC atau konfigurasi jaringan khusus. AWS mengelola konektivitas antara kemampuan Argo CD dan cluster jarak jauh pribadi secara otomatis.
Penerapan lintas akun
Untuk penerapan lintas akun, tambahkan Peran Kemampuan IAM Argo CD dari akun sumber ke Entri Akses EKS kluster target:
-
Di akun target, buat Entri Akses pada kluster EKS target
-
Gunakan Argo CD IAM Capability Role ARN dari akun sumber sebagai prinsipal
-
Konfigurasikan izin Kubernetes RBAC yang sesuai untuk Entri Akses
-
Daftarkan cluster target di Argo CD menggunakan ARN cluster EKS miliknya
Tidak diperlukan pembuatan peran IAM tambahan atau konfigurasi kebijakan kepercayaan — Entri Akses EKS menangani akses lintas akun.
Praktik terbaik
Gunakan sumber deklaratif sebagai sumber kebenaran: Simpan semua manifes aplikasi Anda di repositori Git, registri Helm, atau gambar OCI, memungkinkan kontrol versi, jejak audit, dan kolaborasi.
Menerapkan RBAC yang tepat: Gunakan integrasi Pusat AWS Identitas untuk mengontrol siapa yang dapat mengakses dan mengelola aplikasi dalam Argo CD. Argo CD mendukung kontrol akses halus ke sumber daya dalam Aplikasi (Deployment, Pod,, Secrets). ConfigMaps
Gunakan ApplicationSets untuk penerapan multi-lingkungan: Gunakan ApplicationSets untuk menyebarkan aplikasi di beberapa cluster atau ruang nama dengan konfigurasi yang berbeda.
Manajemen siklus hidup
Kebijakan sinkronisasi aplikasi
Kontrol bagaimana Argo CD menyinkronkan aplikasi:
Sinkronisasi manual: Aplikasi memerlukan persetujuan manual untuk menyinkronkan perubahan. Direkomendasikan untuk lingkungan produksi.
Sinkronisasi otomatis: Aplikasi secara otomatis menyinkronkan ketika perubahan Git terdeteksi. Umum untuk lingkungan pengembangan dan pementasan.
Penyembuhan diri: Secara otomatis mengembalikan perubahan manual yang dibuat ke cluster. Memastikan status klaster cocok dengan Git.
Pemangkasan: Secara otomatis menghapus sumber daya yang dihapus dari Git. Gunakan dengan hati-hati karena ini dapat menghapus sumber daya.
Aplikasi kesehatan
Argo CD terus memantau kesehatan aplikasi:
-
Sehat: Semua sumber daya berjalan seperti yang diharapkan
-
Kemajuan: Sumber daya sedang dibuat atau diperbarui
-
Terdegradasi: Beberapa sumber daya tidak sehat
-
Ditangguhkan: Aplikasi dijeda
-
Hilang: Sumber daya hilang dari cluster
Sinkronkan jendela
Konfigurasikan jendela sinkronisasi untuk mengontrol kapan aplikasi dapat disinkronkan:
-
Izinkan sinkronisasi hanya selama jendela pemeliharaan
-
Blokir sinkronisasi selama jam kerja
-
Jadwalkan sinkronisasi otomatis untuk waktu tertentu
-
Gunakan jendela sinkronisasi untuk skenario break-glass di mana Anda harus menghentikan sementara semua sinkronisasi
Konfigurasi Webhook untuk sinkronisasi lebih cepat
Secara default, Argo CD polling repositori Git setiap 6 menit untuk mendeteksi perubahan. Untuk penerapan yang lebih responsif, konfigurasikan webhook Git untuk memicu sinkronisasi langsung saat perubahan didorong.
Webhook memberikan beberapa manfaat:
-
Respons sinkronisasi segera saat kode didorong (detik vs menit)
-
Mengurangi overhead pemungutan suara dan meningkatkan kinerja sistem
-
Penggunaan batas tarif API yang lebih efisien
-
Pengalaman pengguna yang lebih baik dengan umpan balik yang lebih cepat
Titik akhir webhook
Kemampuan Argo CD menyediakan endpoint webhook untuk menerima notifikasi Git. Temukan URL webhook di konsol EKS di bawah tab Capabilities cluster Anda, atau ambil menggunakan CLI AWS :
aws eks describe-capability \ --cluster-namemy-cluster\ --capability-namemy-argocd\ --query 'capability.configuration.argoCd.webhookUrl' \ --output text \ --regionregion-code
Konfigurasikan webhook oleh penyedia Git
GitHub: Di pengaturan repositori Anda, tambahkan webhook dengan URL webhook Argo CD. Atur jenis konten ke application/json dan pilih “Just the push event”.
GitLab: Dalam pengaturan proyek Anda, tambahkan webhook dengan URL webhook Argo CD. Aktifkan “Push events” dan opsional “Tag push events”.
Bitbucket: Di pengaturan repositori Anda, tambahkan webhook dengan URL webhook Argo CD. Pilih “Repository push” sebagai pemicunya.
CodeCommit: Buat EventBridge aturan Amazon yang memicu perubahan status CodeCommit repositori dan mengirimkan notifikasi ke titik akhir webhook Argo CD.
Untuk petunjuk konfigurasi webhook yang mendetail, lihat Konfigurasi Webhook CD Argo
catatan
Webhook melengkapi polling—mereka tidak menggantikannya. Argo CD terus melakukan polling repositori sebagai mekanisme fallback jika pemberitahuan webhook terlewatkan.
Langkah selanjutnya
-
Bekerja dengan Argo CD- Pelajari cara membuat dan mengelola Aplikasi Argo CD
-
Memecahkan masalah dengan kemampuan Argo CD- Memecahkan masalah Argo CD
-
Bekerja dengan sumber daya kemampuan- Kelola sumber daya kemampuan Argo CD Anda