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
Instance ASM dengan versi 1.12.4.50 atau lebih baru telah dibuat. Untuk informasi lebih lanjut, lihat Buat instance ASM.
Repositori Git telah dibuat.
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.
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.
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, temukan instance ASM yang ingin dikonfigurasikan. Klik nama instance atau pilih Manage di kolom Actions.
Di halaman Base Information, klik Enable di sebelah Enable Data-plane KubeAPI access.

Di pesan yang muncul, klik OK.
Langkah 3: Terapkan gateway masuk
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
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.
Buat aplikasi sampel bernama bookinfo.
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.
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.
Di bagian DESTINATION, atur parameter Cluster URL menjadi https://kubernetes.default.svc dan parameter Namespace menjadi default.
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.
Lihat status sumber daya di konsol ASM.
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
Di halaman VirtualService, lihat aplikasi bookinfo yang dibuat.
Lihat status sumber daya di konsol ACK.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel kiri, pilih .
Lihat Deployment yang dibuat.

Akses gateway masuk.
Dapatkan alamat IP dari gateway ingress.
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
Di halaman Ingress Gateway, peroleh Service address dari gateway ingress.
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.
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.
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
Jalankan perintah berikut untuk mendorong konfigurasi Deployment reviews-v1 ke repositori Git:
git add * git commit -m "reviews-v1" git pushSinkronkan 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:
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.
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.
Verifikasi hasilnya.
Kunjungi http://{alamat IP dari layanan gateway masuk}/productpage di browser tanpa logon.
Gambar berikut menunjukkan hasilnya. Versi v1 dari data reviews ditampilkan.
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.