All Products
Search
Document Center

Alibaba Cloud Service Mesh:Integrasikan Argo CD dengan ASM untuk Mengimplementasikan GitOps

Last Updated:Jul 06, 2025

Argo CD memantau perubahan dalam repositori Git untuk orkestrasi aplikasi, membandingkan status aplikasi di kluster dengan konfigurasi yang diharapkan, dan secara otomatis menerapkan perubahan ke kluster. Anda juga dapat menerapkan perubahan secara manual. Untuk meningkatkan efisiensi dan jejak audit penyebaran layanan di lingkungan Kubernetes, Anda dapat mengintegrasikan Argo CD dengan Service Mesh (ASM) untuk mengimplementasikan GitOps. Sistem kontrol versi akan menyinkronkan dan menerapkan aplikasi secara otomatis, membantu menyederhanakan proses penyebaran, memastikan konsistensi konfigurasi, melacak semua operasi, meningkatkan stabilitas sistem, serta mengurangi biaya O&M.

Prasyarat

Informasi latar belakang

GitOps adalah pendekatan untuk mengimplementasikan penyebaran berkelanjutan pada aplikasi cloud native. Dengan mengintegrasikan Argo CD dengan ASM, Anda dapat merilis dan memperbarui aplikasi, sehingga mengimplementasikan GitOps di instance ASM. Sebagai pengembang, Anda dapat mendefinisikan sumber daya aplikasi dan manajemen trafik menggunakan YAML dan mengirimkannya ke repositori Git. Sumber daya aplikasi mencakup Deployments dan Services, sedangkan sumber daya manajemen trafik mencakup VirtualServices, Gateways, dan DestinationRules. Argo CD memantau status sumber daya seperti Deployments, Services, dan VirtualServices di kluster, lalu membandingkannya dengan konfigurasi yang diharapkan di repositori Git. Jika terdeteksi perubahan, Argo CD dapat menyinkronkan dan menerapkan perubahan tersebut secara otomatis atau manual.ArgoCD

Langkah 1: Instal Argo CD

Anda dapat menginstal Argo CD secara manual atau menggunakan fitur bawaan Argo CD di Pusat Aplikasi Container Service for Kubernetes (ACK). Contoh berikut menunjukkan instalasi manual Argo CD dan integrasinya dengan ASM untuk mengimplementasikan GitOps.

  • Untuk panduan instalasi manual Argo CD, lihat Memulai.

  • Pusat Aplikasi ACK menyediakan fitur Argo CD bawaan, sehingga Anda tidak perlu menginstalnya secara manual. Fitur ini memungkinkan Anda memeriksa status aplikasi dan menggunakan repositori Git serta Helm chart untuk menerapkan versi aplikasi tertentu ke kluster Kubernetes. Untuk informasi lebih lanjut, lihat Ikhtisar Pusat Aplikasi.

Langkah 2: Aktifkan akses ke sumber daya Istio menggunakan API Kubernetes pada bidang data instance ASM Anda

ASM menyediakan bidang kontrol kompatibel Istio yang dikelola. Bidang kontrol instance ASM yang terintegrasi dengan Argo CD dan bidang data tempat kluster ACK berada tidak berada di kluster Kubernetes yang sama. Anda harus mengaktifkan akses ke sumber daya Istio menggunakan API Kubernetes pada bidang data agar Argo CD dapat mengakses sumber daya Istio di instance ASM seperti halnya mengakses sumber daya di kluster ACK.

  1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, temukan instance ASM yang ingin dikonfigurasikan. Klik nama instance atau pilih Manage di kolom Actions.

  3. Di halaman Base Information, klik Enable di sebelah Enable Data-plane KubeAPI access.启用数据面KubeAPI访问

  4. Di pesan yang muncul, klik OK.

Langkah 3: Terapkan gateway masuk

  1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih ASM Gateways > Ingress Gateway.

  3. Di halaman Ingress Gateway, klik Create. Atur parameter untuk ingress gateway dan klik Create.

    Tabel berikut menjelaskan beberapa parameter dari ingress gateway. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat Ingress Gateway.

    Parameter

    Deskripsi

    Name

    Nama dari ingress gateway. Untuk contoh ini, atur parameter menjadi ingressgateway.

    Gateway types

    Tipe dari ingress gateway. Untuk contoh ini, atur parameter menjadi North-South IngressGateway.

    Port Mapping

    Pemetaan port dari ingress gateway. Klik Add Port dan konfigurasikan protokol dan port berikut:

    • Atur parameter Protocol menjadi HTTP dan parameter Service Port menjadi 80.

    • Atur parameter Protocol menjadi HTTPS dan parameter Service Port menjadi 443.

Langkah 4: Gunakan Argo CD untuk menerapkan sumber daya Istio

Anda dapat mendefinisikan sumber daya Istio sebagai manifest Kubernetes dan mendorong manifest ke repositori Git yang digunakan untuk menerapkan orkestrasi aplikasi kluster Kubernetes.

  1. Buat aplikasi sampel bernama bookinfo.

    1. Di antarmuka pengguna Argo CD, klik NEW APP dan atur parameter aplikasi.

      • Di bagian GENERAL, atur parameter Application Name menjadi bookinfo, parameter Project menjadi default, lalu pilih PRUNE RESOURCES.GENERAL

      • Di bagian SOURCE, atur parameter Repository URL menjadi https://github.com/AliyunContainerService/asm-labs.git, parameter Revision menjadi argocd-asm, dan parameter Path menjadi argo-cd/bookinfo.SOURCE

      • Di bagian DESTINATION, atur parameter Cluster URL menjadi https://kubernetes.default.svc dan parameter Namespace menjadi default.DESTINATION

    2. Setelah konfigurasi selesai, klik CREATE di bagian atas halaman.

      Setelah aplikasi bookinfo dibuat, Anda dapat melihat statusnya di UI Argo CD. 查看应用状态Klik bookinfo untuk melihat status sumber daya yang telah dibuat.查看创建的资源状态

  2. Lihat status sumber daya di konsol ASM.

    1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

    2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih Traffic Management Center > VirtualService.

    3. Di halaman VirtualService, lihat aplikasi bookinfo yang dibuat.

  3. Lihat status sumber daya di konsol ACK.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Di halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel kiri, pilih Workloads > Deployments.

    3. Lihat Deployment yang dibuat.Deployment

  4. Akses gateway masuk.

    1. Dapatkan alamat IP dari gateway ingress.

      1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

      2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih ASM Gateways > Ingress Gateway.

      3. Di halaman Ingress Gateway, peroleh Service address dari gateway ingress.

    2. Kunjungi http://{IP address of the ingress gateway}/productpage di browser.

      Gambar berikut menunjukkan hasilnya. Deployment ulasan dari aplikasi Istio bookinfo memiliki tiga versi. Jika tidak ada versi yang ditentukan saat mengakses aplikasi, data ulasan yang berbeda akan ditampilkan setiap kali halaman disegarkan.访问ASM网关

Langkah 5: Terapkan GitOps

Konfigurasikan aturan trafik untuk mengakses http://{alamat IP gateway masuk}/productpage. Jika belum masuk, versi v1 data reviews akan ditampilkan. Jika masuk sebagai pengguna jason, versi v2 data reviews akan ditampilkan.

  1. Modifikasi file YAML lokal dari reviews VirtualService dan reviews-v1 Deployment.

    • Ubah file YAML dari reviews VirtualService untuk berisi konten berikut:

      apiVersion: networking.istio.io/v1alpha3
      kind: VirtualService
      metadata:
        name: reviews
      spec:
        hosts:
          - reviews
        http:
        - match:
          - headers:
              end-user:
                exact: jason
          route:
          - destination:
              host: reviews
              subset: v2
        - route:
          - destination:
              host: reviews
              subset: v1
      ---
    • Ubah file YAML dari reviews-v1 Deployment untuk berisi konten berikut:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        namespace: argocd
        name: reviews-v1
        labels:
          app: reviews
          version: v1
      spec:
        replicas: 2
  2. Jalankan perintah berikut untuk mendorong konfigurasi Deployment reviews-v1 ke repositori Git:

    git add *
    git commit -m "reviews-v1"
    git push
  3. Sinkronkan konfigurasi Git ke kluster.

    Jika sinkronisasi otomatis diaktifkan untuk Argo CD, konfigurasi Git akan disinkronkan secara otomatis ke kluster. Jika tidak, ikuti langkah-langkah berikut:

    1. Di antarmuka pengguna Argo CD, klik SYNC pada kartu bookinfo.

      Jika file konfigurasi aplikasi bookinfo dimodifikasi, OutOfSync akan ditampilkan di sebelah kanan parameter Status pada kartu bookinfo.文件变更

    2. Dalam kotak dialog yang muncul, klik SYNCHRONIZE.

      Setelah sinkronisasi selesai, Anda dapat melihat sumber daya yang diperbarui di konsol ASM dan ACK. Untuk informasi lebih lanjut, lihat <Lihat status sumber daya di konsol ASM dan Lihat status sumber daya di konsol ACK.

  4. Verifikasi hasilnya.

    1. Kunjungi http://{alamat IP dari layanan gateway masuk}/productpage di browser tanpa logon.

      Gambar berikut menunjukkan hasilnya. Versi v1 dari data reviews ditampilkan.未登录状态

    2. Masuk ke aplikasi sebagai pengguna jason. Anda dapat memasukkan karakter apa pun saat diminta untuk memasukkan kata sandi. Akses gateway masuk.

      Gambar berikut menunjukkan hasilnya. Versi v2 dari data reviews ditampilkan.使用jason为用户名进行登录