All Products
Search
Document Center

Container Service for Kubernetes:Panduan cepat untuk GitOps

Last Updated:Mar 26, 2026

GitOps di ACK One memungkinkan Anda mengelola pengiriman aplikasi di beberapa kluster menggunakan repositori Git sebagai satu-satunya sumber kebenaran. Fitur ini mendukung direktori manifes YAML, Helm chart, dan Kustomize, serta sepenuhnya kompatibel dengan versi komunitas Argo CD dengan lapisan kontrol berdaya tinggi (high-availability).

Setelah menyelesaikan panduan ini, Anda akan:

  • Mengaktifkan akses publik ke konsol Argo CD

  • Menghubungkan repositori Git ke Argo CD

  • Menyebarkan aplikasi ke kluster tujuan

Prasyarat

Sebelum memulai, pastikan Anda telah:

Penagihan

Mengaktifkan GitOps membuat sumber daya berikut yang dikenai biaya:

  • Sebuah Instance SLB untuk mengekspos titik akhir API dan UI Argo CD

  • Sebuah instans ECI bayar sesuai penggunaan dengan 2 vCPU dan memori 4 GB untuk menjalankan layanan Argo CD

Untuk detail harga, lihat Penagihan sumber daya cloud untuk armada multi-kluster.

Wilayah yang didukung

Fitur ini tersedia di semua wilayah tempat fitur manajemen armada ACK One diaktifkan. Lihat Wilayah yang mendukung armada multi-kluster dan kluster alur kerja.

Langkah 1: Aktifkan akses publik ke konsol GitOps

GitOps diaktifkan secara default saat Anda membuat instans armada ACK One. Secara default, konsol Argo CD hanya dapat diakses dalam Virtual Private Cloud (VPC). Untuk mengelola aplikasi dari browser melalui Internet, aktifkan akses publik.

Penting

Mengaktifkan akses publik menimbulkan risiko keamanan. Selalu konfigurasikan Access Control List (ACL) untuk membatasi akses hanya ke alamat IP atau Blok CIDR tepercaya.

Menggunakan konsol

  1. Masuk ke Konsol ACK One. Di panel navigasi kiri, pilih Fleet > Multi-cluster Applications.

  2. Di halaman Multi-cluster GitOps, klik ikon Dingtalk_20231226104633.jpg di sebelah nama armada dan pilih armada Anda dari daftar drop-down.

  3. Jika GitOps belum diaktifkan, klik Enable GitOps, lalu klik OK pada kotak dialog. Jika GitOps sudah diaktifkan, tombol GitOps Console akan terlihat di halaman tersebut.

  4. Klik Enable di sebelah Public Access. Pada kotak dialog Enable Public Access, masukkan alamat IP atau Blok CIDR yang ingin ditambahkan ke daftar putih, lalu klik OK.

  5. Setelah armada diperbarui, klik GitOps Console di pojok kanan atas untuk membuka konsol Argo CD di browser Anda.

Menggunakan Cloud Assistant CLI

Jalankan perintah berikut untuk mengaktifkan GitOps dan akses publik secara bersamaan. Ganti <your_clusterid> dengan ID instans armada Anda, dan ganti nilai AccessControlList dengan Blok CIDR tepercaya Anda.

Untuk panduan mendapatkan Blok CIDR, lihat Mengaktifkan akses publik ke Argo CD.

aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --PublicAccessEnabled true --AccessControlList "[\"10.100.XX.XX/24\"]" --ArgoCDEnabled true
Jika Anda menggunakan AccessKey RAM user, berikan izin AliyunAdcpFullAccess kepada RAM user tersebut sebelum menjalankan perintah ini. Lihat Memberikan izin kepada RAM user.

Langkah 2: Sebarkan aplikasi ke kluster tujuan

Langkah ini memandu Anda menghubungkan repositori Git dan menyebarkan aplikasi menggunakan repositori contoh gitops-demo. Tersedia dua metode: UI Argo CD dan CLI Argo CD.

Sebarkan menggunakan UI Argo CD

Masuk ke Argo CD

Di halaman Multi-cluster GitOps, klik GitOps Console. Di halaman login Argo CD, klik LOG IN VIA ALIYUN untuk login menggunakan Single Sign-On (SSO) dengan Akun Alibaba Cloud Anda.

Hubungkan repositori

  1. Di panel navigasi kiri, klik Settings, lalu pilih Repositories > + Connect Repo.

  2. Konfigurasikan parameter berikut dan klik CONNECT. Saat koneksi berhasil, CONNECTION STATUS berubah menjadi Successful.

    AreaParameterNilai
    Pilih metode koneksi AndaVIA HTTP/HTTPS
    CONNECT REPO USING HTTP/HTTPSTypegit
    Projectdefault
    Repository URLhttps://github.com/AliyunContainerService/gitops-demo.git
    Skip server verificationPilih kotak centang ini

    image.png

    image.png

Buat aplikasi

  1. Di panel navigasi kiri, pilih Applications, lalu klik + NEW APP.

  2. Konfigurasikan parameter berikut dan klik CREATE.

    AreaParameterNilai
    GENERALApplication Nameecho-server-demo
    Project Namedefault
    SYNC POLICYPilih Automatic dari daftar drop-down. Dengan Automatic, Argo CD memeriksa repositori Git setiap 3 menit dan menerapkan perubahan secara otomatis. Dengan Manual, Anda memicu sinkronisasi dengan mengklik SYNC.
    SYNC OPTIONSPilih AUTO-CREATE NAMESPACE
    SOURCERepository URLPilih https://github.com/AliyunContainerService/gitops-demo.git dari daftar drop-down
    RevisionHEAD
    Pathmanifests/helm/echo-server
    DESTINATIONCluster URLPilih kluster tujuan Anda dari daftar drop-down
    Namespaceecho-server-demo
    HELMVALUES FILESvalues.yaml
  3. Di halaman Applications, pastikan aplikasi echo-server-demo menampilkan Status: Healthy dan Synced. Jika Anda mengatur SYNC POLICY ke Manual, klik SYNC untuk memicu penerapan awal.

    image.png

  4. Klik nama aplikasi untuk melihat topologi dan status sumber daya Kubernetes-nya.

    image.png

Sebarkan menggunakan CLI Argo CD

Masuk ke Argo CD

  1. Unduh dan instal Argo CD CLI v2.8.7.

  2. Ambil kata sandi admin awal dari instans armada:

    kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
  3. Login menggunakan port forwarding. Username default adalah admin.

    export ARGOCD_OPTS='--port-forward-namespace argocd --port-forward'
    
    argocd login
    Username: admin
    Password:

    Output yang diharapkan:

    'admin:login' logged in successfully
    Context 'port-forward' updated
  4. Perbarui kata sandi admin default:

    argocd account update-password
    *** Enter password of currently logged in user (admin):
    *** Enter new password for user admin:
    *** Confirm new password for user admin:

    Output yang diharapkan:

    Password updated
    Context 'port-forward' updated

Hubungkan repositori

  1. Tambahkan repositori Git:

    argocd repo add https://github.com/AliyunContainerService/gitops-demo.git --name echo-server

    Output yang diharapkan:

    Repository 'https://github.com/AliyunContainerService/gitops-demo.git' added
  2. Verifikasi repositori telah ditambahkan:

    argocd repo list

    Output yang diharapkan:

    TYPE  NAME  REPO                                                       INSECURE  OCI    LFS    CREDS  STATUS      MESSAGE  PROJECT
    git         https://github.com/AliyunContainerService/gitops-demo.git  false     false  false  false  Successful           default
  3. Daftarkan kluster yang tersedia. Output mencakup semua kluster yang terkait dengan instans armada.

    argocd cluster list

    Output yang diharapkan:

    SERVER                          NAME                                        VERSION  STATUS      MESSAGE                                                  PROJECT
    https://47.97.XX.XX:6443      c83f3cbc90a****-temp02   1.22+    Successful
    https://kubernetes.default.svc  in-cluster                                           Unknown     Cluster has no applications and is not being monitored.

    Catat URL server kluster tujuan Anda — Anda akan membutuhkannya di langkah berikutnya.

Buat dan sinkronkan aplikasi

  1. Buat aplikasi. Ganti https://47.97.XX.XX:6443 dengan URL server kluster tujuan Anda.

    argocd app create echo-server --repo https://github.com/AliyunContainerService/gitops-demo.git --path manifests/helm --dest-namespace echo-server-cli --dest-server https://47.97.XX.XX:6443

    Output yang diharapkan:

    application 'echo-server' created
  2. Sinkronkan aplikasi ke kluster tujuan:

    argocd app sync echo-server

    Output yang diharapkan:

    TIMESTAMP                  GROUP        KIND   NAMESPACE                       NAME    STATUS    HEALTH        HOOK  MESSAGE
    2022-09-22T14:32:45+08:00            Service  echo-server-cli           echo-server  OutOfSync  Missing
    2022-09-22T14:32:45+08:00   apps  Deployment  echo-server-cli           echo-server  OutOfSync  Missing
    2022-09-22T14:32:45+08:00            Service  echo-server-cli           echo-server    Synced  Progressing
    2022-09-22T14:32:45+08:00            Service  echo-server-cli           echo-server    Synced   Progressing              service/echo-server created
    2022-09-22T14:32:45+08:00   apps  Deployment  echo-server-cli           echo-server  OutOfSync  Missing                  deployment.apps/echo-server created
    2022-09-22T14:32:45+08:00   apps  Deployment  echo-server-cli           echo-server    Synced  Progressing              deployment.apps/echo-server created
    
    Name:               echo-server
    Project:            default
    Server:             https://47.97.XX.XX:6443
    Namespace:          echo-server-cli
    URL:                https://127.0.0.1:52742/applications/echo-server
    Repo:               https://github.com/AliyunContainerService/gitops-demo.git
    Target:
    Path:               manifests/helm
    SyncWindow:         Sync Allowed
    Sync Policy:        <none>
    Sync Status:        Synced to  (e5c2618)
    Health Status:      Progressing
    
    Operation:          Sync
    Sync Revision:      e5c261880a4072cdbfa5173add2be426f7f3****
    Phase:              Succeeded
    Start:              2022-09-22 14:32:44 +0800 CST
    Finished:           2022-09-22 14:32:45 +0800 CST
    Duration:           1s
    Message:            successfully synced (all tasks run)
    
    GROUP  KIND        NAMESPACE        NAME         STATUS  HEALTH       HOOK  MESSAGE
           Service     echo-server-cli  echo-server  Synced  Progressing        service/echo-server created
    apps   Deployment  echo-server-cli  echo-server  Synced  Progressing        deployment.apps/echo-server created
  3. Konfirmasi aplikasi sedang berjalan:

    argocd app list

    Output yang diharapkan:

    NAME             CLUSTER                     NAMESPACE        PROJECT  STATUS  HEALTH   SYNCPOLICY  CONDITIONS  REPO                                                     PATH              TARGET
    echo-server      https://47.97.XX.XX:6443  echo-server-cli  default  Synced  Healthy  <none>      <none>      https://github.com/AliyunContainerService/gitops-demo.git  manifests/helm

    Aplikasi berhasil diterapkan ketika STATUS bernilai Synced dan HEALTH bernilai Healthy.

Operasi lanjutan

Setelah menerapkan aplikasi, gunakan operasi berikut untuk memelihara konfigurasi GitOps Anda.

Konfigurasi ConfigMap Argo CD

  1. Di halaman Multi-cluster GitOps, temukan Argo CD ConfigMap di bagian terlipat GitOps.

  2. Klik Configure di sebelah Argo CD ConfigMap.

  3. Di halaman Argo CD ConfigMap Settings, pilih item konfigurasi dari daftar drop-down Select Configuration Item dan edit di editor kode Modify Configurations. Untuk item konfigurasi umum dan kebijakan restart-nya, lihat Item konfigurasi umum.

Restart komponen Argo CD

  1. Di halaman Multi-cluster GitOps, temukan Argo CD Component di bagian terlipat GitOps.

  2. Klik Restart di sebelah Argo CD Components.

  3. Di kotak dialog, pilih komponen yang akan direstart dari daftar drop-down Select Application to Restart (misalnya, argocd-server), lalu klik OK.

Nonaktifkan GitOps

Hapus semua aplikasi di GitOps sebelum menonaktifkannya. Juga, nonaktifkan GitOps sebelum menghapus instans armada ACK One.

Menggunakan konsol:

  1. Masuk ke Konsol ACK One. Di panel navigasi kiri, pilih Fleet > Multi-cluster Applications.

  2. Di halaman Multi-cluster GitOps, klik ikon Dingtalk_20231226104633.jpg dan pilih armada Anda.

  3. Klik Disable GitOps di pojok kanan atas, lalu klik OK.

Menggunakan Cloud Assistant CLI:

aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --ArgoCDEnabled false

Langkah selanjutnya