Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Argo CD
Argo CD adalah alat GitOps continuous delivery (CD) yang banyak digunakan untuk Kubernetes yang sesuai dengan beberapa prinsip utama. GitOps
GitOps dukungan
| Bidang | Kemampuan alat |
|---|---|
Konfigurasi deklaratif |
Argo CD menggunakan konfigurasi deklaratif yang disimpan dalam repositori Git. Keadaan aplikasi dan infrastruktur yang diinginkan didefinisikan dalam file YAMAL. Konfigurasi ini menjelaskan apa yang harus diterapkan, bukan bagaimana menerapkannya. |
Sistem kontrol versi sebagai satu-satunya sumber kebenaran |
Repositori Git berfungsi sebagai sumber kebenaran tunggal untuk seluruh sistem. Semua perubahan pada aplikasi dan infrastruktur dilakukan melalui Git. Ini memastikan jejak audit yang lengkap dan kemampuan untuk memutar kembali ke keadaan sebelumnya. |
Sinkronisasi otomatis |
Argo CD terus memantau repositori Git untuk perubahan. Ketika perubahan terdeteksi, secara otomatis menyinkronkan keadaan sebenarnya dari cluster dengan status yang diinginkan yang didefinisikan dalam Git. Ini memastikan bahwa cluster selalu mencerminkan status yang dijelaskan dalam repositori. |
Kubernetes-asli |
Argo CD dirancang khusus untuk lingkungan Kubernetes. Ini memanfaatkan sifat deklaratif dan sumber daya kustom di Kubernetes untuk mengelola aplikasi. |
Penyembuhan diri dan deteksi drift |
Argo CD secara teratur membandingkan status langsung cluster dengan status yang diinginkan di Git. Jika mendeteksi penyimpangan (perbedaan antara status aktual dan yang diinginkan), itu dapat secara otomatis memperbaiki perbedaan ini. |
Dukungan multi-cluster dan multi-tenancy |
Argo CD dapat mengelola beberapa cluster Kubernetes dari satu instance. Ini mendukung multi-tenancy, sehingga tim yang berbeda dapat mengelola aplikasi mereka secara mandiri. |
Definisi aplikasi |
Aplikasi dalam Argo CD didefinisikan dengan menggunakan Application CRD (definisi sumber daya khusus). Ini memungkinkan cara asli Kubernetes untuk mendefinisikan apa yang harus diterapkan dan bagaimana caranya. |
Pemisahan penyebaran dan pelepasan |
Argo CD memisahkan penyebaran kode dari rilisnya ke pengguna. Ini dicapai melalui berbagai strategi penyebaran seperti blue/green atau penyebaran kenari. |
Observabilitas dan auditabilitas |
Argo CD menyediakan UI web dan CLI untuk mengamati keadaan aplikasi dan cluster. Semua tindakan dicatat untuk memberikan jejak audit yang jelas tentang perubahan dan penerapan. |
Keamanan dan RBAC |
Argo CD terintegrasi dengan Kubernetes role-based access control (RBAC). Ini mendukung integrasi masuk tunggal untuk otentikasi dan otorisasi. |
Arsitektur pluggable |
Argo CD mendukung berbagai sistem manajemen kontrol sumber, bagan Helm, Kustomize, dan format manifes Kubernetes lainnya. Fleksibilitas ini memungkinkannya untuk masuk ke dalam lingkungan dan alur kerja yang beragam. |
Pengiriman berkelanjutan (CD) |
Meskipun Argo CD berfokus pada pengiriman berkelanjutan, ia dapat diintegrasikan dengan alat integrasi berkelanjutan (CI) untuk membuat CI/CD pipeline yang lengkap. |
Dengan mengikuti GitOps prinsip-prinsip ini, Argo CD menyediakan cara yang kuat, terukur, dan aman untuk mengelola penerapan Kubernetes. Ini memastikan bahwa status operasional sistem Anda selalu sinkron dengan status yang diinginkan yang didefinisikan dalam repositori Git Anda, dan mempromosikan konsistensi, keandalan, dan kemudahan pengelolaan di lingkungan Kubernetes yang kompleks.
Untuk skenario dan persyaratan yang dapat ditangani oleh Argo CD, lihat Kasus penggunaan CD Argo nanti dalam panduan ini. Untuk perbandingan antara Argo CD dan Flux, lihat Perbandingan fitur nanti dalam panduan ini.
Untuk informasi tambahan, lihat dokumentasi Argo CD
Arsitektur
Diagram berikut menggambarkan alur kerja CD GitOps -driven yang menggunakan Argo CD dalam cluster EKS. Untuk informasi lebih lanjut, lihat dokumentasi Argo CD
di mana:
-
Langkah 1: Tarik permintaan (PR) bergabung. Pengembang melakukan perubahan pada manifes Kubernetes atau bagan Helm yang disimpan dalam repositori Git. Ketika PR telah ditinjau dan digabungkan ke cabang utama, status aplikasi yang diinginkan diperbarui dalam kontrol sumber.
-
Langkah 2: Sinkronisasi repositori. Argo CD berjalan dalam namespace khusus (
argocd) di kluster EKS dan terus memantau repositori Git yang dikonfigurasi. Ketika mendeteksi perubahan, ia menarik pembaruan terbaru untuk merekonsiliasi status yang dideklarasikan. -
Langkah 3: Deployment untuk menargetkan namespace. Argo CD membandingkan status yang diinginkan dari Git dengan status langsung di cluster. Ini kemudian menerapkan perubahan yang diperlukan pada namespace beban kerja target sehingga aplikasi diterapkan atau diperbarui sesuai dengan itu. Ini termasuk mengelola sumber daya Kubernetes seperti penerapan, layanan ConfigMaps, dan rahasia untuk menjaga konsistensi klaster dengan sumber kebenaran Git.