全部产品
Search
文档中心

Container Service for Kubernetes:Memulai GitOps

更新时间:Nov 11, 2025

Anda dapat menggunakan GitOps dalam instans armada ACK One untuk mengelola aplikasi dengan repositori Git sebagai sumber kebenaran tunggal. Pendekatan ini memungkinkan penerapan manajemen versi, distribusi multi-kluster, dan penyebaran berkelanjutan untuk aplikasi yang menggunakan berbagai metode orkestrasi, seperti direktori manifes YAML, grafik Helm, dan Kustomize. GitOps sepenuhnya kompatibel dengan versi komunitas Argo CD dan menyediakan lapisan kontrol berdaya tinggi. Topik ini menjelaskan cara menggunakan GitOps dalam instans armada ACK One untuk mengirimkan aplikasi ke beberapa kluster dan membantu Anda memulai.

Prasyarat

Aturan penagihan

Setelah Anda mengaktifkan GitOps, ACK One membuat sumber daya berikut secara default.

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

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

Untuk informasi selengkapnya tentang penagihan, 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. Untuk informasi selengkapnya, lihat Wilayah yang mendukung armada multi-kluster dan kluster alur kerja.

Langkah 1: Mengaktifkan akses publik ke konsol GitOps

Fitur GitOps diaktifkan secara default saat Anda membuat instans armada ACK One. Anda dapat mengakses konsol GitOps melalui VPC. Untuk melakukannya, Anda harus menghubungkan jaringan lokal Anda ke VPC.

Untuk mengakses konsol GitOps melalui Internet guna melakukan operasi seperti mengirimkan dan melihat aplikasi, ikuti langkah-langkah berikut untuk mengaktifkan akses publik.

Penting

Mengaktifkan akses publik menimbulkan risiko keamanan. Oleh karena itu, Anda harus mengonfigurasi Daftar Kontrol Akses (ACL) saat mengaktifkan akses publik.

Mengaktifkan akses publik di konsol

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

  2. Pada halaman Multi-cluster GitOps, klik ikon Dingtalk_20231226104633.jpg di sebelah nama armada di pojok kiri atas dan pilih armada tujuan dari daftar drop-down.

  3. GitOps diaktifkan secara default untuk armada baru. Jika GitOps belum diaktifkan untuk armada Anda, klik Enable GitOps. Pada kotak dialog yang muncul, klik OK.

    Jika GitOps sudah diaktifkan untuk armada tersebut, tombol GitOps Console akan muncul di halaman Multi-cluster GitOps.

  4. Pada halaman Multi-cluster GitOps, klik Enable di sebelah Public Access. Pada kotak dialog Enable Public Access yang muncul, masukkan alamat IP atau blok CIDR yang ingin Anda tambahkan ke daftar putih, lalu klik OK.

  5. Setelah armada diperbarui, Anda dapat mengklik GitOps Console di pojok kanan atas halaman untuk mengakses konsol GitOps melalui Internet.

Mengaktifkan akses publik menggunakan Cloud Assistant CLI

  1. Pastikan Anda menggunakan versi terbaru Cloud Assistant CLI. Lalu, jalankan perintah berikut untuk mengaktifkan GitOps dan akses publik.

    • Ganti <your_clusterid> dengan ID instans armada Anda.

    • Ganti nilai AccessControlList dengan blok CIDR yang ingin Anda tambahkan ke daftar putih. Untuk informasi selengkapnya tentang cara memperoleh blok CIDR, lihat Mengaktifkan akses publik ke GitOps.

    aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --PublicAccessEnabled true --AccessControlList "[\"10.100.XX.XX/24\"]" --ArgoCDEnabled true 
  2. Opsional: Jika Anda menggunakan Pasangan Kunci Akses Pengguna RAM, Anda harus memberikan izin AliyunAdcpFullAccess kepada Pengguna RAM tersebut. Untuk informasi selengkapnya, lihat Memberikan izin kepada Pengguna RAM.

Langkah 2: Membuat aplikasi di konsol GitOps dan mendistribusikannya ke kluster tujuan

Menyebar aplikasi di konsol

  1. Pada halaman Multi-cluster GitOps, klik GitOps Console untuk menuju halaman log masuk UI Argo CD. Klik LOG IN VIA ALIYUN untuk masuk ke UI Argo CD menggunakan Single Sign-On (SSO) dengan akun Alibaba Cloud Anda.

  2. Menghubungkan ke repositori.

    1. Di panel navigasi sebelah kiri UI Argo CD, pilih Settings. Lalu, pilih Repositories > + Connect Repo.

    2. Pada panel yang muncul, konfigurasikan parameter berikut dan klik CONNECT.

      Area

      Parameter

      Nilai

      Choose your connection method

      -

      VIA HTTP/HTTPS

      CONNECT REPO USING HTTP/HTTPS

      Type

      git

      Project

      default

      Repository URL

      https://github.com/AliyunContainerService/gitops-demo.git

      Skip server verification

      Pilih kotak centang ini.

      image.png

      Setelah repositori terhubung, CONNECTION STATUS repositori Git berubah menjadi Successful.

      image.png

  3. Membuat aplikasi.

    1. Di panel navigasi sebelah kiri UI Argo CD, pilih Applications lalu klik + NEW APP.

    2. Pada panel yang muncul, konfigurasikan parameter berikut dan klik CREATE.

      Area

      Parameter

      Nilai

      GENERAL

      Application Name

      echo-server-demo

      Project Name

      default

      SYNC POLICY

      Pilih Automatic dari daftar drop-down.

      Opsi berikut tersedia:

      • Manual: Jika ada perubahan di repositori Git, Anda harus melakukan sinkronisasi secara manual ke kluster tujuan.

      • Automatic: Server Argo CD secara otomatis mendeteksi perubahan di repositori Git setiap 3 menit dan menerapkan perubahan tersebut ke kluster tujuan.

      SYNC OPTIONS

      Pilih AUTO-CREATE NAMESPACE.

      SOURCE

      Repository URL

      Pilih repositori Git yang sudah ada dari daftar drop-down. Dalam contoh ini, https://github.com/AliyunContainerService/gitops-demo.git dipilih.

      Revision

      HEAD

      Path

      manifests/helm/echo-server

      DESTINATION

      Cluster URL/Cluster Name

      Pilih kluster tujuan dari daftar drop-down.

      Namespace

      echo-server-demo

      HELM

      VALUES FILES

      values.yaml

    3. Setelah aplikasi dibuat, Anda dapat melihat status aplikasi echo-server-demo pada halaman Applications.

      Jika Anda mengatur SYNC POLICY ke Manual, Anda harus mengklik SYNC untuk menyinkronkan aplikasi ke kluster tujuan. Aplikasi disinkronkan ketika Status-nya adalah Healthy dan Synced.

      image.png

    4. Klik nama aplikasi echo-server-demo untuk melihat detailnya, termasuk topologi dan status sumber daya Kubernetes terkait.

      image.png

Menyebar aplikasi menggunakan Argo CD CLI

  1. Masuk dan akses Argo CD.

    1. Buka ArgoCD v2.8.7 untuk mengunduh dan menginstal Argo CD CLI V2.8.7.

    2. Jalankan perintah berikut di instans armada ACK One untuk mendapatkan kata sandi awal sistem Argo CD.

      kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
    3. Jalankan perintah berikut di instans armada ACK One untuk masuk ke Argo CD menggunakan penerusan port. Nama pengguna 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. Jalankan perintah berikut di instans armada ACK One untuk memperbarui kata sandi pengguna 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
  2. Menghubungkan ke repositori.

    1. Jalankan perintah berikut untuk menambahkan 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. Jalankan perintah berikut untuk melihat daftar repositori Git yang 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. Jalankan perintah berikut untuk melihat daftar kluster.

      argocd cluster list

      Output yang diharapkan: Daftar kluster Argo CD berisi semua kluster yang dikaitkan dengan instans armada ACK One.

      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.
  3. Membuat aplikasi.

    1. Jalankan perintah berikut untuk membuat aplikasi.

      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. Jalankan perintah berikut untuk menyinkronkan 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. Jalankan perintah berikut untuk melihat daftar aplikasi.

      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

Operasi terkait

Setelah Anda menyebar aplikasi di GitOps, Anda dapat melakukan operasi berikut untuk meningkatkan keamanan dan observabilitas armada serta GitOps.

Mengonfigurasi ConfigMap Argo CD

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

  2. Klik Configure di sebelah Argo CD ConfigMap.

  3. Pada halaman Argo CD ConfigMap Configuration, pilih item konfigurasi dari daftar drop-down Select Configuration Item dan edit di editor kode Edit Configuration Item. Untuk informasi selengkapnya tentang item konfigurasi umum dan kebijakan restart-nya, lihat Item konfigurasi umum.

Restart komponen Argo CD

  1. Pada halaman Multi-cluster GitOps, temukan Argo CD Components di bagian terlipat GitOps.

  2. Klik Restart di sebelah Argo CD Components.

  3. Pada kotak dialog yang muncul, pilih nama komponen yang ingin Anda restart dari daftar drop-down Select Application To Restart, misalnya, argocd-server, lalu klik OK.

(Opsional) Menonaktifkan GitOps

Jika Anda tidak lagi memerlukan GitOps, Anda dapat menghapus aplikasi di GitOps lalu menonaktifkan GitOps.

Catatan

Sebelum menghapus instans armada ACK One, Anda harus menonaktifkan GitOps.

Matikan dari konsol

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

  2. Pada halaman Multi-cluster GitOps, klik ikon Dingtalk_20231226104633.jpg di sebelah nama armada di pojok kiri atas dan pilih armada tujuan dari daftar drop-down.

  3. Di pojok kanan atas halaman Multi-cluster GitOps, klik Disable GitOps. Pada pesan yang muncul, klik OK.

Matikan menggunakan Cloud Assistant CLI

Pastikan Anda menggunakan versi terbaru Cloud Assistant CLI. Lalu, jalankan perintah berikut untuk menonaktifkan GitOps.

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