All Products
Search
Document Center

Container Service for Kubernetes:Buat aplikasi multi-kluster

Last Updated:Mar 27, 2026

Saat mengelola aplikasi di beberapa kluster, mempertahankan resource Argo CD Application terpisah untuk setiap kluster rentan terhadap kesalahan dan sulit diskalakan. Fitur GitOps multi-kluster di ACK One menggunakan Argo CD ApplicationSet untuk mengatasi masalah ini: satu templat ApplicationSet secara otomatis menghasilkan satu Argo CD Application per kluster target, sehingga satu commit dapat disebar ke semua kluster sekaligus.

Topik ini menjelaskan cara membuat aplikasi multi-kluster melalui konsol ACK One.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Buat aplikasi multi-kluster

  1. Masuk ke konsol ACK One. Di panel navigasi sebelah kiri, pilih Fleet > Multi-cluster GitOps.

  2. Di pojok kiri atas halaman Multi-cluster GitOps, klik ikon Dingtalk_20231226104633.jpg di samping nama fleet, lalu pilih fleet target dari daftar drop-down.

  3. Klik Create Multi-cluster Application > GitOps untuk membuka halaman Create Multi-cluster Application - GitOps.

  4. Di tab Quick Create, konfigurasikan parameter berikut. Di bawah bagian Advanced Configuration, atur kebijakan sinkronisasi. Jika opsi Automatic dipilih, Anda dapat mengaktifkan opsi tambahan berikut. Untuk operasi sinkronisasi, tersedia opsi-opsi berikut. Untuk informasi lengkap mengenai opsi sinkronisasi, lihat Argo CD sync options.

    ParameterDescriptionExample
    Multi-cluster Application Set NameNama application set.appset-echo-server-demo
    ProjectProyek Argo CD tempat application set tersebut berada.default
    Source Code URLURL repositori Git yang berisi manifes aplikasi Anda.https://github.com/AliyunContainerService/gitops-demo.git
    Git BranchBranch yang dilacak di repositori.main
    PathPath dalam repositori menuju manifes aplikasi. Path ini dapat mengarah ke direktori file YAML, root Helm chart, atau direktori Kustomize.manifests/helm/echo-server
    Destination ClusterKluster tempat aplikasi akan dideploy. Jika dibiarkan kosong, semua kluster yang terdaftar di Argo CD — kecuali in-cluster (tempat fleet dan Argo CD berjalan) — digunakan sebagai kluster tujuan.
    NamespaceNamespace di setiap kluster tujuan tempat aplikasi dideploy.demo
    Application NameTemplat nama untuk setiap Argo CD Application yang dihasilkan. Variabel berikut tersedia secara default: {{.name}}, {{.metadata.annotations.cluster_name}}, dan {{.metadata.annotations.cluster_id}}.{{.metadata.annotations.cluster_id}}-echoserver

    Kebijakan sinkronisasi (ApplicationSet)

    OptionDescription
    PRESERVE RESOURCES ON DELETIONJika dipilih, resource turunan yang dibuat oleh application set ini tetap dipertahankan jika application set dihapus. Pilih opsi ini untuk melindungi beban kerja dari penghapusan application set yang tidak disengaja.

    Kebijakan sinkronisasi (Application)

    OptionDescription
    ManualSinkronisasi hanya dipicu saat Anda memulainya secara manual.
    AutomaticArgo CD secara otomatis menyinkronkan aplikasi saat mendeteksi perbedaan antara repositori Git dan status live kluster.
    OptionDescription
    PRUNE RESOURCESSecara default, Argo CD tidak menghapus resource yang sudah tidak ada di Git — ini merupakan mekanisme keamanan untuk mencegah kehilangan data yang tidak disengaja. Jika diaktifkan, resource yang dihapus dari repositori Git akan secara otomatis dihapus dari kluster. Aktifkan opsi ini hanya jika Anda ingin Git menjadi satu-satunya sumber kebenaran untuk status kluster.
    SELF HEALSecara default, perubahan manual pada resource live kluster tidak memicu sinkronisasi otomatis. Jika diaktifkan, setiap perubahan di luar alur pada resource live kluster akan secara otomatis dikembalikan agar sesuai dengan status yang diinginkan di Git. Aktifkan opsi ini untuk mencegah deviasi konfigurasi akibat modifikasi langsung pada kluster.
    OptionDescription
    SKIP SCHEMA VALIDATIONMelewati validasi spesifikasi resource Kubernetes sebelum diterapkan. Setara dengan `kubectl apply --validate=true|false`. Diaktifkan secara default.
    AUTO-CREATE NAMESPACESecara otomatis membuat namespace target jika belum ada di kluster.
    PRUNE LASTMenghapus resource yang dipangkas hanya setelah semua resource lain dideploy dan dalam kondisi sehat, sehingga mengurangi risiko downtime selama sinkronisasi.
    APPLY OUT OF SYNC ONLYHanya menyinkronkan resource yang berada dalam status OutOfSync, sehingga mempercepat operasi sinkronisasi ketika sebagian besar resource sudah dalam keadaan sinkron.
    RESPECT IGNORE DIFFERENCESSaat sinkronisasi, mengabaikan bidang yang ditentukan dalam konfigurasi ignoreDifferences sehingga bidang tersebut tidak ditimpa.
    SERVER-SIDE APPLYMenggunakan server-side apply Kubernetes alih-alih client-side apply default. Gunakan opsi ini ketika resource terlalu besar untuk muat dalam ukuran anotasi yang diizinkan, saat melakukan patch pada resource yang tidak sepenuhnya dikelola oleh Argo CD, atau ketika Anda menginginkan field management deklaratif.
    REPLACEMenggunakan kubectl replace (hapus lalu buat ulang) alih-alih kubectl apply (patch). Gunakan opsi ini hanya jika apply tidak mencukupi, misalnya untuk bidang yang immutable.
    RETRYMengulangi operasi sinkronisasi yang gagal. Konfigurasikan jumlah percobaan ulang, interval percobaan ulang, dan kebijakan backoff.
  5. Jika Quick Create tidak memenuhi kebutuhan Anda, pilih tab Create from YAML dan edit YAML ApplicationSet secara langsung.

    Quick Create dan Create from YAML disinkronkan. Perubahan yang dilakukan di salah satu tab akan tercermin di tab lainnya.
  6. Klik OK. ApplicationSet akan dibuat, dan status setiap aplikasi yang dihasilkan ditampilkan di kolom Status pada halaman Multi-cluster GitOps.

    4f94c85b2da653c00f17f6e3439ce9ce

  7. Untuk memeriksa aplikasi yang dihasilkan, klik angka di kolom Application di samping nama ApplicationSet. Ringkasan semua aplikasi yang dibuat dari ApplicationSet tersebut akan ditampilkan. Klik Application Name untuk membuka UI Argo CD aplikasi tersebut.

    cc83f3c5287d42465e7803337cd399d3