Pemintal - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemintal

Meskipun Spinnaker tidak dirancang secara eksklusif sebagai GitOps alat, Anda dapat mengonfigurasinya untuk mengimplementasikan GitOps prinsip, terutama saat Anda menggunakannya untuk penerapan cloud-native dan Kubernetes.

GitOps dukungan

Bidang Kemampuan alat

Konfigurasi deklaratif

Spinnaker menggunakan definisi pipeline deklaratif, yang biasanya disimpan sebagai file JSON atau YAMG. Definisi pipeline ini dapat dikontrol versi di repositori Git, selaras dengan praktik. GitOps

IAc

Spinnaker mendukung definisi konfigurasi infrastruktur dan penerapan sebagai kode. Definisi ini dapat disimpan dalam repositori Git, dan dapat berfungsi sebagai sumber kebenaran tunggal.

Penerapan multi-cloud

Spinnaker dirancang untuk bekerja di beberapa penyedia cloud dan cluster Kubernetes. Ini memungkinkan GitOps praktik yang konsisten di berbagai lingkungan.

Pipeline sebagai kode

Pipeline spinnaker dapat didefinisikan sebagai kode dan disimpan dalam repositori Git. Hal ini memungkinkan untuk kontrol versi dan peninjauan proses penyebaran.

Penerapan otomatis

Anda dapat mengonfigurasi Spinnaker untuk memulai penerapan secara otomatis berdasarkan perubahan di repositori Git. Alat ini mendukung praktik penerapan berkelanjutan yang merupakan pusat. GitOps

Infrastruktur yang tidak dapat diubah

Spinnaker mempromosikan penggunaan infrastruktur yang tidak dapat diubah, yang merupakan konsep kunci dalam. GitOps Ini mendorong penerapan instance baru alih-alih memodifikasi instance yang ada.

Rollback dan pembuatan versi

Spinnaker menyediakan kemampuan rollback yang kuat dan pengembalian cepat ke keadaan baik yang diketahui sebelumnya. Ini mendukung pembuatan versi penerapan, selaras dengan prinsip-prinsip keterlacakan. GitOps

Alur kerja persetujuan

Spinnaker mencakup tahapan penilaian manual dalam jaringan pipa untuk mendukung promosi terkontrol antar lingkungan. Ini mendukung GitOps praktik pemisahan antara penerapan dan rilis.

Canary dan penyebaran blue/green

Spinnaker mendukung strategi penerapan lanjutan yang selaras dengan GitOps praktik untuk rilis yang aman dan terkontrol.

Integrasi dengan sistem kontrol versi

Spinnaker dapat berintegrasi dengan berbagai penyedia Git untuk memulai pipeline berdasarkan peristiwa repositori.

Integrasi Kubernetes

Spinnaker menyediakan dukungan asli untuk Kubernetes dan mendukung GitOps manajemen gaya sumber daya Kubernetes.

Manajemen Artifak

Spinnaker mendukung manajemen artefak dan pembuatan versi, yang sangat penting untuk mempertahankan alur kerja. GitOps

Observabilitas dan pemantauan

Spinnaker menawarkan integrasi dengan alat pemantauan untuk mendukung aspek observabilitas. GitOps

Jejak audit

Spinnaker menyediakan log dan riwayat penyebaran terperinci, yang mendukung prinsip auditabilitas. GitOps

Kontrol akses berbasis peran (RBAC)

Alat ini mengimplementasikan RBAC untuk kontrol halus atas siapa yang dapat melakukan tindakan mana, sesuai dengan praktik keamanan. GitOps

Templating dan parameterisasi

Spinnaker mendukung templating dalam definisi pipeline untuk mengaktifkan penerapan yang dapat digunakan kembali dan diparameterisasi.

Promosi lingkungan

Spinnaker memfasilitasi promosi aplikasi antar lingkungan (misalnya, dari pementasan ke produksi) secara terkontrol.

Integrasi dengan alat CI

Spinnaker dapat berintegrasi dengan berbagai alat integrasi berkelanjutan (CI) untuk menyediakan CI/CD pipa lengkap yang mematuhi prinsip. GitOps

Tahapan dan ekstensi khusus

Alat ini mendukung tahapan dan ekstensi khusus, sehingga tim dapat menerapkan GitOps alur kerja yang disesuaikan dengan kebutuhan mereka.

Manajemen terpusat

Spinnaker menyediakan platform terpusat untuk mengelola penyebaran di berbagai lingkungan dan penyedia cloud.

Meskipun Spinnaker tidak terutama dipasarkan sebagai GitOps alat, fleksibilitas dan set fitur yang kuat membuatnya mampu mengimplementasikan GitOps alur kerja, terutama di lingkungan multi-cloud yang kompleks. Perbedaan utama antara Spinnaker dan GitOps alat khusus seperti Argo CD atau Flux adalah bahwa Spinnaker menawarkan platform pengiriman berkelanjutan yang lebih komprehensif dengan strategi penyebaran lanjutan dan dukungan multi-cloud.

Kekuatan Spinnaker terletak pada kemampuannya untuk menangani skenario penyebaran yang kompleks di berbagai penyedia cloud dan dukungannya untuk strategi penerapan lanjutan. Ketika Spinnaker dikonfigurasi dengan benar, ia dapat menerapkan GitOps prinsip-prinsip secara efektif. Ini menjadikannya alat yang ampuh bagi organisasi yang ingin mengadopsi GitOps praktik di lingkungan yang beragam dan kompleks.

Untuk informasi lebih lanjut, lihat dokumentasi Spinnaker.

Arsitektur

Diagram berikut menggambarkan alur kerja CD GitOps -driven yang menggunakan Spinnaker dan Jenkins X. Untuk informasi rinci, lihat dokumentasi Spinnaker.

Arsitektur dan alur kerja Spinnaker aktif. AWS

di mana:

  • Langkah 1: Kode komit. Pengembang melakukan perubahan kode aplikasi ke repositori Git. Perubahan ini dapat mencakup pembaruan pada aplikasi itu sendiri, Dockerfiles, atau manifes Kubernetes.

  • Langkah 2: Jenkins membangun dan membuat gambar. Jenkins secara otomatis dipicu oleh repositori Git melalui webhook atau polling. Jenkins membangun aplikasi, membuat gambar Docker, dan mendorong gambar yang dibangun ke registri Docker yang dikonfigurasi (seperti Amazon ECR atau Docker Hub).

  • Langkah 3: Pemantauan gambar Spinnaker dan pemicu pipa. Spinnaker terus memantau registri Docker untuk gambar baru. Ketika versi gambar baru terdeteksi, Spinnaker secara otomatis memicu pipeline untuk memulai proses penerapan.

  • Langkah 4: Penerapan untuk menargetkan ruang nama. Spinnaker menyebarkan gambar Docker baru ke Amazon EKS. Berdasarkan konfigurasi pipeline, gambar digunakan untuk menargetkan ruang nama di cluster. Spinnaker memastikan bahwa versi aplikasi terbaru diterapkan sambil mengikuti strategi penerapan yang ditentukan seperti atau penerapan canary. blue/green