Fitur GitOps multi-kluster menggunakan ArgoCD ApplicationSet untuk menyederhanakan orkestrasi aplikasi, memungkinkan Anda membuat dan menerapkan aplikasi secara otomatis di beberapa kluster melalui satu konfigurasi tunggal. Topik ini menjelaskan cara membuat aplikasi multi-kluster di Konsol ACK One.
Prasyarat
Anda telah mengaktifkan fitur fleet management.
-
Anda telah menambahkan satu atau beberapa kluster terasosiasi ke dalam fleet. Untuk informasi selengkapnya, lihat Tambahkan kluster terasosiasi.
-
Anda telah masuk ke sistem GitOps. Untuk informasi selengkapnya, lihat Masuk ke sistem GitOps.
Prosedur
Masuk ke Konsol ACK One. Di panel navigasi sebelah kiri, pilih .
-
Di pojok kiri atas halaman Multi-cluster GitOps, klik ikon
di samping nama fleet dan pilih fleet target dari daftar drop-down. -
Klik untuk membuka halaman Create Multi-cluster Application - GitOps.
-
Pada tab Quick Create, konfigurasikan parameter sesuai tabel berikut.
Parameter
Deskripsi
Contoh
Multi-cluster Application Set Name
Nama ApplicationSet.
appset-echo-server-demo
Project
Proyek tempat ApplicationSet tersebut berada.
default
Source Code URL
URL repositori kode sumber aplikasi.
Git Branch
Cabang Git untuk aplikasi.
main
Path
Jalur relatif ke file manifes YAML aplikasi di repositori Git.
manifests/helm/echo-server
Destination cluster
Kluster tempat aplikasi akan diterapkan. Jika dikosongkan, aplikasi akan diterapkan ke semua kluster yang dikelola oleh ArgoCD kecuali
in-cluster(kluster lapisan kontrol tempat ArgoCD berjalan).Namespace
Namespace dalam kluster tujuan tempat aplikasi akan diterapkan.
demo
Application Name
Nama aplikasi yang dihasilkan. Anda dapat menggunakan variabel berikut:
-
{{.name}}
-
{{.metadata.annotations.cluster_name}}
-
{{.metadata.annotations.cluster_id}}
{{.metadata.annotations.cluster_id}}-echoserver
Advanced configuration
Synchronization Policy (Application Set)
PRESERVE RESOURCES ON DELETION: Jika dipilih, resource yang dibuat oleh aplikasi turunan ApplicationSet tetap dipertahankan saat ApplicationSet dihapus.
Synchronization Policy (Application)
-
Manual: Sinkronisasi manual.
-
Automatic: Sinkronisasi otomatis.
-
PRUNE RESOURCES: Jika dipilih, resource yang tidak lagi didefinisikan di repositori Git akan dihapus dari kluster.
-
SELF HEAL: Jika dipilih, status live aplikasi secara otomatis diselaraskan dengan status yang diinginkan di repositori Git. Ini mencegah deviasi konfigurasi akibat perubahan manual.
-
Tabel berikut menjelaskan opsi sinkronisasi.
Parameter
Deskripsi
SKIP SCHEMA VALIDATION
Menentukan apakah validasi skema resource dilewati. Memilih opsi ini setara dengan menjalankan
kubectl apply --validate=false. Secara default, validasi skema dilakukan.AUTO-CREATE NAMESPACE
Jika dipilih, namespace target dibuat secara otomatis jika belum ada.
PRUNE LAST
Jika dipilih, resource dipangkas pada akhir operasi sinkronisasi, setelah semua resource lain diterapkan dan dalam kondisi sehat.
APPLY OUT OF SYNC ONLY
Jika dipilih, operasi sinkronisasi hanya menerapkan perubahan pada resource yang berstatus OutOfSync. Hal ini dapat mempercepat proses sinkronisasi.
RESPECT IGNORE DIFFERENCES
Jika dipilih, menghormati konfigurasi
ignoreDifferencesselama sinkronisasi. Bidang yang ditentukan dalam konfigurasiignoreDifferencestidak diperiksa adanya perbedaan.SERVER-SIDE APPLY
Mengaktifkan Server-Side Apply Kubernetes. Gunakan opsi ini jika manifes resource terlalu besar untuk batas ukuran anotasi Kubernetes, jika Anda perlu melakukan patch pada resource yang sudah ada namun tidak sepenuhnya dikelola oleh Argo CD, atau untuk menerapkan pendekatan deklaratif yang lebih baik dalam melacak kepemilikan bidang.
REPLACE
Jika dipilih, resource diperbarui menggunakan aksi
replace(kubectl replace) alih-alih aksiapplydefault. Aksireplacemenghapus resource yang ada sebelum membuat yang baru, sedangkanapplymenggunakan patch untuk memperbaruinya.RETRY
Mengonfigurasi strategi pengulangan untuk operasi sinkronisasi yang gagal, termasuk jumlah pengulangan, durasi antar pengulangan, dan pengaturan backoff.
Untuk informasi selengkapnya tentang opsi sinkronisasi, lihat Argo CD Sync Options.
-
-
Jika metode Quick Create tidak memenuhi kebutuhan Anda, pilih tab Create from YAML dan definisikan ApplicationSet dalam format YAML.
CatatanQuick Create disinkronkan dengan Create from YAML, dan perubahan tercermin dalam konten YAML untuk Create from YAML.
-
Klik OK. Anda akan diarahkan ke halaman Multi-cluster GitOps. Setelah ApplicationSet dibuat, Anda dapat melihatnya dalam daftar. Kolom Status menampilkan hasil penerapan, dan kolom Application menunjukkan jumlah aplikasi yang dihasilkan oleh ApplicationSet.
-
Klik angka pada kolom Application yang sesuai dengan Name ApplicationSet Anda. Kotak dialog Multi-cluster Application Details terbuka, menampilkan daftar aplikasi yang dihasilkan. Anda dapat mengklik Application Name untuk membuka halamannya di UI ArgoCD. Pastikan status aplikasi adalah Healthy dan Synced, yang menandakan penerapan berhasil.