Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fluks
Flux adalah alat lain untuk Kubernetes yang mengimplementasikan GitOps prinsip dengan cara yang unik.
GitOps dukungan
| Bidang | Kemampuan alat |
|---|---|
Git sebagai satu-satunya sumber kebenaran |
Flux menggunakan repositori Git sebagai sumber definitif untuk mendefinisikan keadaan sistem yang diinginkan. Semua konfigurasi untuk aplikasi dan infrastruktur disimpan dalam Git. |
Konfigurasi deklaratif |
Flux bekerja dengan deskripsi deklaratif dari keadaan cluster yang diinginkan. Deskripsi ini biasanya berupa manifes Kubernetes, bagan Helm, atau overlay Kustomize. |
Aynchronisasi otomatis |
Flux terus memantau repositori Git untuk perubahan. Ketika mendeteksi perubahan, secara otomatis menerapkannya ke cluster. |
Kubernetes-asli |
Flux dibangun sebagai satu set pengendali Kubernetes dan sumber daya kustom. Ia menggunakan mekanisme ekstensi di Kubernetes untuk menyediakan kemampuan. GitOps |
Model penyebaran berbasis tarik |
Tidak seperti CI/CD sistem berbasis push tradisional, Flux menggunakan model berbasis tarik. Cluster menarik status yang diinginkan dari Git alih-alih menggunakan sistem eksternal untuk mendorong perubahan. |
Rekonsiliasi berkelanjutan |
Flux secara konstan membandingkan keadaan sebenarnya dari cluster dengan status yang diinginkan di Git. Ini secara otomatis mengoreksi setiap penyimpangan yang terdeteksi di antara status ini. |
Multi-penghunian |
Flux mendukung multi-tenancy melalui konsep Kustomisasi dan. HelmReleases Tim yang berbeda dapat mengelola bagian konfigurasi mereka sendiri secara independen. |
Pengiriman progresif |
Flux mendukung strategi penerapan lanjutan, seperti rilis dan A/B pengujian kenari, melalui komponen Flagger-nya. |
Integrasi helm |
Flux menyertakan dukungan asli untuk Helm, sehingga Anda dapat dengan mudah mengelola rilis Helm. GitOps |
Otomatisasi pembaruan gambar |
Flux dapat secara otomatis memperbarui gambar kontainer di Git ketika versi baru tersedia di registri kontainer. |
Kustomisasi dukungan |
Anda dapat menggunakan dukungan asli yang disediakan oleh Flux for Kustomize untuk menyesuaikan dan menambal manifes Kubernetes. |
Keamanan dan RBAC |
Flux terintegrasi dengan Kubernetes RBAC untuk kontrol akses. Ini mendukung manajemen rahasia melalui berbagai backend. |
Observabilitas |
Flux menyediakan informasi status dan metrik tentang rekonsiliasi dan operasi. Ini terintegrasi dengan alat pemantauan untuk meningkatkan observabilitas. |
Arsitektur berbasis peristiwa |
Flux menggunakan pendekatan berbasis peristiwa untuk mengimplementasikan rekonsiliasi dan pembaruan. |
Ekstensibilitas |
Alat ini dirancang agar dapat diperluas, sehingga Anda dapat menambahkan pengontrol dan sumber daya khusus. |
Sinkronisasi lintas-cluster |
Flux mendukung pengelolaan beberapa cluster dari satu set repositori. |
Manajemen dependensi |
Ini memungkinkan untuk mendefinisikan dependensi antara berbagai bagian sistem Anda dan memastikan urutan operasi yang benar. |
Penerima Webhook |
Anda dapat mengonfigurasi Flux untuk menerima webhook dari penyedia Git atau sistem lain untuk memulai rekonsiliasi segera. |
Dengan menerapkan GitOps prinsip-prinsip ini, Flux menyediakan sistem yang kuat dan fleksibel untuk mengelola klaster dan aplikasi Kubernetes. Ini memastikan bahwa infrastruktur dan aplikasi Anda selalu sinkron dengan repositori Git Anda, dan memberikan konsistensi, keandalan, dan kemudahan pengelolaan di lingkungan Kubernetes yang kompleks. Pendekatan Kubernetes-native tool dan fokus pada otomatisasi membuatnya sangat cocok untuk lingkungan cloud-native.
Untuk skenario dan persyaratan yang dapat ditangani oleh Flux, lihat Kasus penggunaan Flux nanti dalam panduan ini. Untuk perbandingan antara Argo CD dan Flux, lihat Perbandingan fitur nanti dalam panduan ini.
Untuk informasi tambahan, lihat dokumentasi Flux
Arsitektur
Diagram berikut menggambarkan alur kerja CD GitOps -driven yang menggunakan Flux dalam cluster EKS. Untuk informasi lebih lanjut, lihat dokumentasi Flux
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. Flux berjalan dalam namespace khusus di cluster 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. Flux 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.