Topik ini menjelaskan cara menggunakan GitOps untuk mengelola aplikasi. Anda dapat menggunakan GitOps untuk membuat, menerapkan, memperbarui, dan mengembalikan aplikasi.
Prasyarat
Dua klaster telah dikaitkan dengan instance Fleet (klaster penyedia layanan dan klaster konsumen layanan).
Membuat dan menerapkan aplikasi
Dalam topik ini, sebuah aplikasi bernama echo-server-demo dibuat dan diterapkan ke klaster Container Service for Kubernetes (ACK). Alamat server API dari klaster ACK adalah https://47.97.XX.XX:6443.
Jika Anda tidak dapat mengakses GitHub karena masalah jaringan, ganti https://github.com/AliyunContainerService/gitops-demo.git dengan https://code.aliyun.com/shuwei.hsw/gitops-demo.git.
Gunakan konsol Argo CD
Masuk ke antarmuka pengguna Argo CD. Untuk informasi lebih lanjut, lihat Gunakan antarmuka pengguna Argo CD untuk masuk ke Argo CD.
Di panel navigasi sisi kiri antarmuka pengguna ArgoCD, klik Applications, lalu klik + NEW APP.
Di panel yang muncul, konfigurasikan parameter berikut dan klik CREATE.
Bagian
Parameter
Nilai
GENERAL
Application Name
echo-server-demo
Project Name
default
SYNC POLICY
Pilih Automatic dari daftar drop-down.
Nilai yang valid:
Manual: Anda perlu secara manual menyinkronkan perubahan dari repositori Git ke klaster tempat aplikasi diterapkan.
Automatic: Server ArgoCD memindai repositori Git setiap 3 menit dan menyinkronkan perubahan ke klaster tempat aplikasi diterapkan.
SYNC OPTIONS
Pilih AUTO-CREATE NAMESPACE.
SOURCE
Repository URL
Pilih repositori Git 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 klaster dari daftar drop-down.
Namespace
echo-server-demo
HELM
VALUES FILES
values.yaml
Setelah aplikasi bernama echo-server-demo dibuat, Anda dapat melihat status aplikasi di halaman Application.
Jika SYNC POLICY disetel ke Manual, Anda perlu mengklik SYNC untuk secara manual menerapkan aplikasi di klaster yang ditentukan. Setelah status aplikasi berubah menjadi Sehat dan Tersinkronisasi, aplikasi telah diterapkan.

Gunakan CLI Argo CD
Jalankan perintah berikut untuk membuat aplikasi bernama echo-server-demo:
argocd app create echo-server-demo --repo https://github.com/AliyunContainerService/gitops-demo.git --path manifests/directory/production --dest-namespace echo-server-demo --dest-server https://47.97.XX.XX:6443 --sync-policy noneKeluaran yang diharapkan:
application 'echo-server-demo' createdTabel berikut menjelaskan parameter dalam perintah tersebut.
Parameter
Deskripsi
repo
Alamat repositori Git yang digunakan untuk membuat aplikasi.
path
Subdirektori file YAML aplikasi echo-server-demo.
dest-server
Titik akhir server API dari klaster ACK.
dest-namespace
Namespace tempat aplikasi diterapkan.
sync-policy
Kebijakan sinkronisasi aplikasi. Nilai default:
none. Nilai yang valid:autodannone.auto: Sistem GitOps secara berkala memindai repositori Git untuk perubahan dalam aplikasi echo-server dan secara otomatis menyinkronkan perubahan ke aplikasi yang diterapkan di klaster yang ditentukan.none: Anda harus secara manual menyinkronkan perubahan ke aplikasi yang diterapkan di klaster yang ditentukan.
Jalankan perintah berikut untuk menerapkan aplikasi echo-server-demo ke klaster yang ditentukan:
argocd app sync echo-server-demoKeluaran yang diharapkan:
TIMESTAMP GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE 2022-10-17T16:43:20+08:00 apps Deployment echo-server-demo echo-server OutOfSync Missing 2022-10-17T16:43:20+08:00 Service echo-server-demo echo-server OutOfSync Missing 2022-10-17T16:43:20+08:00 Service echo-server-demo echo-server Synced Progressing 2022-10-17T16:43:20+08:00 Service echo-server-demo echo-server Synced Progressing service/echo-server-demo created 2022-10-17T16:43:20+08:00 apps Deployment echo-server-demo echo-server OutOfSync Missing deployment.apps/echo-server-demo created 2022-10-17T16:43:20+08:00 apps Deployment echo-server-demo echo-server Synced Progressing deployment.apps/echo-server-demo created Name: echo-server-demo Project: default Server: https://47.97.XX.XX:6443 Namespace: echo-server-demo URL: https://127.0.0.1:65384/applications/echo-server-demo Repo: https://github.com/AliyunContainerService/gitops-demo.git Target: Path: manifests/directory/production SyncWindow: Sync Allowed Sync Policy: <none> Sync Status: Synced to (02af62b) Health Status: Progressing Operation: Sync Sync Revision: 02af62bf21e76f53ebfcc282c45865d2308c**** Phase: Succeeded Start: 2022-10-17 16:43:19 +0800 CST Finished: 2022-10-17 16:43:20 +0800 CST Duration: 1s Message: successfully synced (all tasks run) GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE Service echo-server-demo echo-server-demo Synced Progressing service/echo-server-demo created apps Deployment echo-server-demo echo-server-demo Synced Progressing deployment.apps/echo-server-demo created
Lihat aplikasi
Gunakan konsol Argo CD
Di panel navigasi sisi kiri antarmuka pengguna Argo CD, klik Applications to view semua aplikasi.
Klik nama aplikasi untuk melihat detail aplikasi. Halaman detail menampilkan topologi dan status sumber daya Kubernetes yang digunakan oleh aplikasi.

Gunakan CLI Argo CD
Jalankan perintah berikut untuk menanyakan aplikasi yang telah diterapkan:
argocd app listKeluaran yang diharapkan:
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
echo-server https://47.97.XX.XX:6443 echo-server-demo default Synced Healthy <none> <none> https://github.com/AliyunContainerService/gitops-demo.git manifests/directory/productionPerbarui aplikasi
Kerangka kerja rilis aplikasi GitOps mengharuskan Anda memperbarui kode sumber aplikasi di repositori Git jika ingin memperbarui aplikasi. Setelah Anda melakukan commit kode yang diperbarui ke repositori Git, Anda dapat menyinkronkan perubahan ke klaster.
Commit perubahan ke repositori Git.
Jalankan perintah berikut untuk menyinkronkan perubahan ke aplikasi yang diterapkan di klaster yang ditentukan:
argocd app sync echo-server-demoJalankan perintah berikut untuk mengakses aplikasi:
curl XX.XX.XX.XX:8080/version #Ganti XX.XX.XX.XX dengan alamat IP aplikasi.Keluaran yang diharapkan:
"Hello Echo Server v2.0"
Kembalikan aplikasi
Gunakan konsol Argo CD
Di panel navigasi sisi kiri antarmuka pengguna Argo CD, klik Applications. . Di daftar aplikasi, temukan aplikasi echo-server-demo dan klik namanya.
Di halaman detail aplikasi, klik HISTORY AND ROLLBACK. Di halaman versi historis yang muncul, pilih versi historis dan klik Rollback di pojok kanan atas.

Setelah rollback selesai, kembali ke halaman detail dan periksa versi aplikasi.
Gunakan CLI Argo CD
Jalankan perintah berikut untuk melihat versi historis yang tersedia:
argocd app history echo-server-demoKeluaran yang diharapkan:
ID DATE REVISION 0 2022-10-17 16:43:20 +0800 CST (02af62b) 1 2022-10-17 16:52:49 +0800 CST (56ae547)56ae547di kolomREVISIONadalah versi saat ini. ID versi saat ini adalah 1.Jalankan perintah berikut untuk mengembalikan aplikasi ke versi
02af62bdi kolomREVISION.argocd app rollback echo-server-demo 0Setelah rollback selesai, akses aplikasi.
Jalankan perintah berikut untuk mengakses aplikasi:
curl XX.XX.XX.XX:8080/version #Ganti XX.XX.XX.XX dengan alamat IP aplikasi.Keluaran yang diharapkan:
"Hello Echo Server v1.0"