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 Aplikasi
Aplikasi mewakili penerapan dalam cluster target. Setiap Aplikasi mendefinisikan sumber (repositori Git) dan tujuan (cluster dan namespace). Ketika diterapkan, Argo CD akan membuat sumber daya yang ditentukan oleh manifes dalam repositori Git ke namespace di cluster. Aplikasi sering menentukan penerapan beban kerja, tetapi mereka dapat mengelola sumber daya Kubernetes apa pun yang tersedia di klaster tujuan.
Prasyarat
-
Cluster EKS dengan kemampuan Argo CD dibuat
-
Akses repositori dikonfigurasi (lihat) Konfigurasikan akses repositori
-
Kluster target terdaftar (lihatDaftarkan kluster target)
-
kubectldikonfigurasi untuk berkomunikasi dengan cluster Anda
Buat Aplikasi dasar
Tentukan Aplikasi yang menyebarkan dari repositori Git:
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: guestbook namespace: argocd spec: project: default source: repoURL: https://github.com/argoproj/argocd-example-apps targetRevision: HEAD path: guestbook destination: server: arn:aws:eks:us-west-2:111122223333:cluster/my-cluster namespace: default
penting
Gunakan ARN cluster EKS di destination.server bidang, bukan URL server API Kubernetes. Kemampuan yang dikelola diperlukan ARNs untuk mengidentifikasi cluster.
Terapkan Aplikasi:
kubectl apply -f application.yaml
Lihat status Aplikasi:
kubectl get application guestbook -n argocd
Konfigurasi sumber
Repositori Git:
spec: source: repoURL: https://github.com/example/my-app targetRevision: main path: kubernetes/manifests
Tag atau komit Git tertentu:
spec: source: targetRevision: v1.2.0 # or commit SHA
Bagan helm:
spec: source: repoURL: https://github.com/example/helm-charts targetRevision: main path: charts/my-app helm: valueFiles: - values.yaml parameters: - name: image.tag value: v1.2.0
Bagan helm dari ECR:
spec: source: repoURL: oci://account-id.dkr.ecr.region.amazonaws.com/repository-nametargetRevision:chart-versionchart:chart-name
Jika Peran Kemampuan memiliki izin ECR yang diperlukan, repositori digunakan secara langsung dan tidak diperlukan konfigurasi Repositori. Lihat Konfigurasikan akses repositori untuk detail.
Repositori Git dari: CodeCommit
spec: source: repoURL: https://git-codecommit.region.amazonaws.com/v1/repos/repository-nametargetRevision: main path: kubernetes/manifests
Jika Peran Kemampuan memiliki CodeCommit izin yang diperlukan, repositori digunakan secara langsung dan tidak diperlukan konfigurasi Repositori. Lihat Konfigurasikan akses repositori untuk detail.
Repositori Git dari: CodeConnections
spec: source: repoURL: https://codeconnections.region.amazonaws.com/git-http/account-id/region/connection-id/owner/repository.git targetRevision: main path: kubernetes/manifests
Format URL repositori berasal dari koneksi CodeConnections ARN. Jika Peran Kemampuan memiliki CodeConnections izin yang diperlukan dan koneksi dikonfigurasi, repositori digunakan secara langsung dan tidak ada konfigurasi Repositori yang diperlukan. Lihat Konfigurasikan akses repositori untuk detail.
Kustomisasi:
spec: source: repoURL: https://github.com/example/kustomize-app targetRevision: main path: overlays/production kustomize: namePrefix: prod-
Kebijakan sinkronisasi
Kontrol bagaimana Argo CD menyinkronkan aplikasi.
Sinkronisasi manual (default):
Aplikasi memerlukan persetujuan manual untuk menyinkronkan:
spec: syncPolicy: {} # No automated sync
Memicu sinkronisasi secara manual:
kubectl patch application guestbook -n argocd \ --type merge \ --patch '{"operation": {"initiatedBy": {"username": "admin"}, "sync": {}}}'
Sinkronisasi otomatis:
Aplikasi secara otomatis menyinkronkan ketika perubahan Git terdeteksi:
spec: syncPolicy: automated: {}
Penyembuhan diri:
Secara otomatis mengembalikan perubahan manual ke cluster:
spec: syncPolicy: automated: selfHeal: true
Saat diaktifkan, Argo CD mengembalikan setiap perubahan manual yang dibuat langsung ke cluster, memastikan Git tetap menjadi sumber kebenaran.
Pemangkasan:
Secara otomatis menghapus sumber daya yang dihapus dari Git:
spec: syncPolicy: automated: prune: true
Awas
Pemangkasan akan menghapus sumber daya dari cluster Anda. Gunakan dengan hati-hati di lingkungan produksi.
Sinkronisasi otomatis gabungan:
spec: syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true
Opsi sinkronisasi
Konfigurasi sinkronisasi tambahan:
Buat namespace jika tidak ada:
spec: syncPolicy: syncOptions: - CreateNamespace=true
Validasi sumber daya sebelum menerapkan:
spec: syncPolicy: syncOptions: - Validate=true
Terapkan tidak sinkron saja:
spec: syncPolicy: syncOptions: - ApplyOutOfSyncOnly=true
Fitur sinkronisasi lanjutan
Argo CD mendukung fitur sinkronisasi lanjutan untuk penerapan kompleks:
-
Gelombang sinkronisasi - Kontrol urutan pembuatan sumber daya dengan
argocd.argoproj.io/sync-waveanotasi -
Sinkronkan kait - Jalankan pekerjaan sebelum atau sesudah sinkronisasi dengan
argocd.argoproj.io/hookanotasi (PreSync,, PostSync) SyncFail -
Penilaian kesehatan sumber daya - Pemeriksaan kesehatan khusus untuk sumber daya khusus aplikasi
Untuk detailnya, lihat Menyinkronkan Gelombang
Abaikan perbedaan
Mencegah Argo CD menyinkronkan bidang tertentu yang dikelola oleh pengontrol lain (seperti replika pengelola HPA):
spec: ignoreDifferences: - group: apps kind: Deployment jsonPointers: - /spec/replicas
Untuk detail tentang pola abaikan dan pengecualian bidang, lihat Diffing Customization
Penyebaran multi-lingkungan
Menerapkan aplikasi yang sama ke beberapa lingkungan:
Pengembangan:
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: my-app-dev namespace: argocd spec: project: default source: repoURL: https://github.com/example/my-app targetRevision: develop path: overlays/development destination: server: arn:aws:eks:us-west-2:111122223333:cluster/dev-cluster namespace: my-app
Produksi:
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: my-app-prod namespace: argocd spec: project: default source: repoURL: https://github.com/example/my-app targetRevision: main path: overlays/production destination: server: arn:aws:eks:us-west-2:111122223333:cluster/prod-cluster namespace: my-app syncPolicy: automated: prune: true selfHeal: true
Memantau dan mengelola Aplikasi
Lihat status Aplikasi:
kubectl get application my-app -n argocd
Akses UI CD Argo:
Buka Argo CD UI melalui konsol EKS untuk melihat topologi aplikasi, status sinkronisasi, kesehatan sumber daya, dan riwayat penerapan. Lihat Bekerja dengan Argo CD petunjuk akses UI.
Aplikasi Rollback:
Kembalikan ke revisi sebelumnya menggunakan Argo CD UI atau dengan memperbarui spesifikasi Aplikasi ke targetRevision komit atau tag Git sebelumnya.
Sumber daya tambahan
-
Bekerja dengan Proyek CD Argo- Mengatur aplikasi dengan Proyek untuk lingkungan multi-penyewa
-
Gunakan ApplicationSets- Menyebarkan ke beberapa cluster dengan template
-
Spesifikasi Aplikasi
- Referensi API Aplikasi Lengkap -
Opsi Sinkronisasi
- Konfigurasi sinkronisasi lanjutan