Aktifkan GitOps, hubungkan repositori Git, dan terapkan aplikasi pertama Anda ke kluster tujuan.
Setelah mengikuti panduan ini, Anda akan memiliki:
-
Akses publik ke konsol Argo CD yang telah diaktifkan
-
Repositori Git yang terhubung ke Argo CD
-
Aplikasi yang diterapkan ke kluster tujuan
Prasyarat
Sebelum memulai, pastikan Anda telah:
-
Manajemen fleet diaktifkan.
-
Beberapa kluster diasosiasikan dengan instans fleet.
-
Izin AliyunAdcpFullAccess telah diberikan kepada RAM user Anda.
-
(Hanya CLI) kubeconfig instans fleet telah diunduh dari Konsol ACK One, dan kubectl telah dikonfigurasi untuk terhubung ke fleet.
-
(Hanya CLI) versi terbaru Alibaba Cloud CLI telah diinstalversi terbaru Cloud Assistant CLI telah diinstal dan dikonfigurasi.
Penagihan
Mengaktifkan GitOps membuat sumber daya berikut yang dapat ditagih:
-
Sebuah instans SLB untuk mengekspos titik akhir API dan UI Argo CD
-
Sebuah instans ECI bayar sesuai penggunaan dengan 2 vCPU dan memori 4 GB untuk layanan Argo CD
Lihat Penagihan sumber daya cloud untuk fleet multi-kluster.
Wilayah yang didukung
GitOps didukung di semua wilayah yang mendukung fleet multi-kluster dan kluster alur kerja.
Langkah 1: Aktifkan akses publik ke konsol GitOps
GitOps diaktifkan secara default pada instans fleet ACK One, tetapi konsol Argo CD hanya dapat diakses dalam Virtual Private Cloud (VPC). Aktifkan akses publik untuk mengelola aplikasi melalui Internet.
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
-
Login ke Konsol ACK One. Di panel navigasi kiri, pilih Fleet > Multi-cluster Applications.
-
Pada halaman Multi-cluster GitOps, klik ikon
di sebelah nama fleet dan pilih fleet Anda. -
Jika GitOps belum diaktifkan, klik Enable GitOps, lalu klik OK. Jika sudah diaktifkan, tombol GitOps Console akan terlihat.
-
Klik Enable di sebelah Public Access. Pada kotak dialog Enable Public Access, masukkan alamat IP atau blok CIDR untuk daftar putih, lalu klik OK.
-
Setelah fleet diperbarui, klik GitOps Console untuk membuka konsol Argo CD.
Menggunakan Cloud Assistant CLI
Aktifkan GitOps dan akses publik secara bersamaan. Ganti <your_clusterid> dengan ID instans fleet Anda dan nilai AccessControlList dengan blok CIDR tepercaya Anda.
Lihat Aktifkan akses publik ke Argo CD untuk detail blok CIDR.
aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --PublicAccessEnabled true --AccessControlList "[\"10.100.XX.XX/24\"]" --ArgoCDEnabled true
Jika menggunakan AccessKey RAM user, berikan izin AliyunAdcpFullAccess kepada RAM user terlebih dahulu. Lihat Berikan izin kepada RAM user.
Langkah 2: Terapkan aplikasi ke kluster tujuan
Hubungkan repositori Git dan terapkan aplikasi menggunakan contoh gitops-demo. Gunakan antarmuka Argo CD atau CLI.
Terapkan menggunakan antarmuka Argo CD
Login ke Argo CD
Pada halaman Multi-cluster GitOps, klik GitOps Console. Pada halaman login, klik LOG IN VIA ALIYUN untuk login ke akun Alibaba Cloud Anda melalui SSO.
Hubungkan repositori
-
Di panel navigasi kiri, klik Settings, lalu pilih Repositories > + Connect Repo.
-
Konfigurasikan parameter berikut dan klik CONNECT. Jika berhasil, CONNECTION STATUS akan menampilkan Successful.
Area Parameter Nilai Pilih metode koneksi Anda — VIA HTTP/HTTPS CONNECT REPO USING HTTP/HTTPS Type git Project default Repository URL https://github.com/AliyunContainerService/gitops-demo.gitSkip server verification Centang kotak ini 

Buat aplikasi
-
Di panel navigasi kiri, pilih Applications, lalu klik + NEW APP.
-
Konfigurasikan parameter berikut dan klik CREATE.
Area Parameter Nilai GENERAL Application Name echo-server-demoProject Name default SYNC POLICY — Pilih Automatic. Argo CD memeriksa repositori setiap 3 menit dan menerapkan perubahan secara otomatis. Dengan Manual, klik SYNC untuk memicu penerapan. SYNC OPTIONS — Pilih AUTO-CREATE NAMESPACE SOURCE Repository URL Pilih https://github.com/AliyunContainerService/gitops-demo.gitRevision HEAD Path manifests/helm/echo-serverDESTINATION Cluster URL Pilih kluster tujuan Anda Namespace echo-server-demoHELM VALUES FILES values.yaml -
Pada halaman Applications, pastikan aplikasi
echo-server-demomenampilkan Status: Healthy dan Synced. Jika Anda mengatur SYNC POLICY ke Manual, klik SYNC untuk memicu penerapan.
-
Klik nama aplikasi untuk melihat topologi dan status resource Kubernetes-nya.

Terapkan menggunakan CLI Argo CD
Login ke Argo CD
-
Unduh dan instal Argo CD CLI v2.8.7.
-
Dapatkan kata sandi admin awal dari instans fleet:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d -
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 -
Perbarui kata sandi
admindefault: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
-
Tambahkan repositori Git:
argocd repo add https://github.com/AliyunContainerService/gitops-demo.git --name echo-serverOutput yang diharapkan:
Repository 'https://github.com/AliyunContainerService/gitops-demo.git' added -
Verifikasi repositori telah ditambahkan:
argocd repo listOutput 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 -
Daftar kluster yang tersedia. Output menampilkan semua kluster yang diasosiasikan dengan instans fleet.
argocd cluster listOutput 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 untuk langkah berikutnya.
Buat dan sinkronkan aplikasi
-
Buat aplikasi. Ganti
https://47.97.XX.XX:6443dengan 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:6443Output yang diharapkan:
application 'echo-server' created -
Sinkronkan aplikasi ke kluster tujuan:
argocd app sync echo-serverOutput 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 -
Pastikan aplikasi sedang berjalan:
argocd app listOutput 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/helmAplikasi telah diterapkan ketika STATUS bernilai Synced dan HEALTH bernilai Healthy.
Operasi tambahan
Gunakan operasi berikut untuk memelihara konfigurasi GitOps Anda.
Konfigurasi ConfigMap Argo CD
-
Pada halaman Multi-cluster GitOps, temukan Argo CD ConfigMap di bagian terlipat GitOps.
-
Klik Configure di sebelah Argo CD ConfigMap.
-
Pada halaman Argo CD ConfigMap Settings, pilih item konfigurasi dari daftar drop-down Select Configuration Item dan edit di editor kode Modify Configurations. Lihat Item konfigurasi umum untuk kebijakan restart.
Restart komponen Argo CD
-
Pada halaman Multi-cluster GitOps, temukan Argo CD Component di bagian terlipat GitOps.
-
Klik Restart di sebelah Argo CD Components.
-
Pilih komponen dari daftar drop-down Select Application to Restart (misalnya, argocd-server), lalu klik OK.
Nonaktifkan GitOps
Hapus semua aplikasi sebelum menonaktifkan GitOps. Nonaktifkan GitOps sebelum menghapus instans fleet ACK One.
Menggunakan konsol:
-
Login ke Konsol ACK One. Di panel navigasi kiri, pilih Fleet > Multi-cluster Applications.
-
Pada halaman Multi-cluster GitOps, klik ikon
dan pilih fleet Anda. -
Klik Disable GitOps, lalu klik OK.
Menggunakan Cloud Assistant CLI:
aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --ArgoCDEnabled false
Langkah selanjutnya
-
Aktifkan akses publik ke Argo CD — konfigurasikan pengaturan kontrol akses tambahan
-
Item konfigurasi umum — sesuaikan perilaku Argo CD dengan pengaturan ConfigMap
-
Penagihan sumber daya cloud untuk fleet multi-kluster — tinjau biaya sumber daya GitOps