Halaman belakang - jaring layanan otomatis di atas infrastruktur multi-cloud dan hybrid



Uji halaman belakang pada kelompok Anda sendiri: curl https://getbackyards.sh | sh && backyards install -a --run-demo curl https://getbackyards.sh | sh && backyards install -a --run-demo . Jika tertarik, lihat detail rilis terbaru .

Pada bulan Juni, kami memperkenalkan Backyards , β€œservice mesh” otomatis di atas operator Istio kami. Ini sangat menyederhanakan manajemen mesh layanan dalam infrastruktur multi-cloud dan hybrid. Backyards diintegrasikan ke dalam platform manajemen kontainer Pipeline di Banzai Cloud, tetapi juga tersedia sebagai produk mandiri . Tentu saja, integrasi dengan Pipeline menawarkan banyak manfaat spesifik (seperti mengelola aplikasi pada banyak cloud ), tetapi Backyards berfungsi pada setiap instalasi Kubernetes.

Dalam pengumuman Backyards, kami membahas beberapa fungsi utama: membuat jala layanan dalam beberapa klik, memantau aplikasi melalui representasi grafis yang unik dan mengelola fungsi Istio dari UI yang nyaman. Kemudian kami menyebutkan bahwa platform ini mampu mengelola jaringan layanan multi-klaster Istio dalam penyebaran multi-cloud dan hybrid.

Dalam artikel ini, kita akan melihat lebih dekat pada fitur ini - layanan multi-cluster otomatis .

Baik itu satu atau lebih cluster, lingkungan multi-cloud atau hybrid, Backyards menggunakan serangkaian fitur yang sama dan antarmuka yang nyaman. Sangat mudah untuk memulai dengan satu cluster, dan kemudian dalam beberapa klik memperluas mesh layanan ke cluster lain (multi-cloud atau hybrid-cloud).

Motivasi


Sistem hybrid dan multi-cloud dengan cepat memasuki kehidupan perusahaan sehari-hari. Minat dan pengambilan keputusan telah tumbuh banyak sejak Google memperkenalkan Anthos pada bulan April tahun ini.

Kami juga memperhatikan peningkatan minat di sebagian besar perusahaan yang menjadi topik diskusi kami. Seseorang lebih suka memproses data di pusat data mereka sendiri, mengakses layanan cloud hanya pada waktu beban puncak. Yang lain terus mencari harga terendah dan penawaran terbaik dari penyedia cloud, meningkatkan beban kerja hanya ketika harga memungkinkan. Mereka semua memerlukan cara yang mudah untuk berpindah di antara cloud yang berbeda atas permintaan klien tertentu, karena peraturan regulasi atau persyaratan bisnis, serta untuk membangun beberapa topologi berbeda di atas infrastruktur multi-cloud dan hybrid ini.

Ketika permintaan untuk solusi hybrid dan multi-cluster tumbuh, kami mulai berpikir bagaimana memenuhi kebutuhan pelanggan kami.

Pengguna pipa bekerja dengan satu atau lebih cloud. Itu tergantung pada fungsi spesifik apa yang mereka butuhkan. Tiga fungsi utama dapat dibedakan:


Latar belakang


Sejak awal, platform Pipeline mendukung koneksi penyedia cloud yang berbeda di level yang berbeda (cluster, penyebaran dan layanan). Ini selalu menjadi salah satu prioritas kami.

Pada saat yang sama, kami secara aktif mengerjakan Istio. Operator pertama kali dirilis untuk menyederhanakan penyebaran dan pengelolaan Istio, dan kemudian mengeksplorasi kemampuan multi-klusternya. Sebagai hasilnya, kami menciptakan Backyards, produk otomatis untuk infrastruktur multi-cloud dan hybrid , diintegrasikan ke dalam Pipeline, dengan operator sumber terbuka Istio.

Halaman belakang di Pipeline


Di Pipeline, Anda dapat menginstal mesh layanan hybrid atau multi-cluster dan mengelolanya di lingkungan lokal atau dalam kombinasi lima penyedia cloud yang kami dukung.

Fungsi pengelompokan cluster (Cluster group) memungkinkan Anda untuk membentuk grup cluster, asalkan Anda memilih satu cluster sebagai yang utama. Anda kemudian dapat mengaitkannya dengan berbagai fungsi, seperti Multi-cluster Deployment atau Service Mesh .

Multi-cluster Deployment memungkinkan Anda untuk menggunakan aplikasi secara bersamaan di beberapa kluster. Di sini kita tidak fokus pada fitur ini, tetapi ini akan digunakan untuk dengan mudah menyebarkan aplikasi pada banyak kluster. Baca lebih lanjut di artikel ini .

Artikel ini akan melihat lebih dekat pada fitur Service Mesh . Itu menginstal Istio pada cluster utama dan secara otomatis bergabung dengan semua cluster dalam grup menggunakan operator Istio . Setelah itu, Anda mendapatkan pandangan lintas-layanan (interluster) layanan Anda, dan mesh multicluster dari sudut pandang manajemen praktis tidak berbeda dari satu-cluster konvensional.

Fungsi


Menciptakan mesh layanan


Mari kita mulai dengan membuat sebuah cluster pada AWS menggunakan distribusi Kubernetes yang ringan dan bersertifikat CNCF - PKE . Kemudian membangun sebuah layanan mesh Istio di kluster ini.

Saat membuat mesh layanan, grup cluster juga dibentuk di latar belakang.

Setelah beberapa detik, "kisi" diinstal dan siap digunakan.



Penerapan Aplikasi


Sekarang kita membutuhkan aplikasi demo dengan layanan microser untuk menunjukkan kemampuan produk kami. Untuk tujuan demonstrasi, kami membuat proyek AllSpark yang sangat sederhana, dan juga membuat diagram Helm dengan konfigurasi awal penyebaran AllSpark, yang mensimulasikan sistem pemesanan tiket bioskop. Semuanya dilakukan dalam layanan cloud (SaaS) kami untuk diagram Helm .

Menggunakan fungsi Multi-cluster Deployment disebutkan di atas, kami akan menyebarkan aplikasi ini dengan membuka tab Multi Cluster Deployments di UI. Tambahkan repositori https://charts.banzaicloud.io/gh/spotguidetest ke Pipeline, lalu diagram meshdemo dan klik DEPLOY (untuk menginstal semua komponen, pastikan semua nilai disetel ke true ).



Dimungkinkan untuk memilih penyebaran sederhana ke satu cluster, tetapi kami mengindikasikan opsi multicluster, yang akan berguna nanti ketika bekerja dengan beberapa cluster.

Gambaran umum layanan mesh


Jika Anda kembali ke daftar mesh layanan dan mengklik tombol observe , panel kontrol akan muncul. Karena tidak ada lalu lintas dalam aplikasi pengujian kami, dan tidak ada metrik dalam sistem, di sini kami belum akan melihat visualisasi apa pun. Antarmuka memiliki fungsi test flight yang mengarahkan lalu lintas ke titik akhir yang dipilih. Jika Anda mengklik tombol HTTP di sudut kanan atas, Anda dapat mengisi formulir yang berisi informasi tentang titik akhir dan mengirimkan beberapa lalu lintas pengujian ke layanan Anda. Dalam contoh kami, lalu lintas harus menuju ke layanan halaman depan pada port 8080.

Setelah beberapa detik, jadwal layanan Anda akan muncul. Node di atasnya mewakili layanan atau beban kerja, dan panah mewakili koneksi jaringan antara layanan yang berbeda. Grafik didasarkan pada metrik Istio yang berasal dari Prometheus.



Buat cluster tambahan


Memperluas jala layanan ke cluster tambahan - bahkan dari beberapa penyedia cloud yang berbeda - hanya membutuhkan beberapa klik. Mari kita buat tiga cluster tambahan di tiga penyedia berbeda, ini lebih menarik. Kita dapat dengan mudah menggunakan kluster PKE lain di Azure, serta kluster OKE dan GKE.



Perpanjangan layanan mesh


Mari kita kembali ke daftar service mesh, tekan tombol RESIZE MESH , dan kemudian ADD NEW CLUSTER . Pilih cluster yang dibuat sebelumnya dan tekan tombol ADD . Itu saja.



Perluasan mungkin memakan waktu beberapa menit: setiap gugus harus terhubung dan mencapai status HEALTHY .

Menyebarkan Aplikasi dalam Banyak Cluster


Sekarang kami memiliki jala layanan pada beberapa kluster, dan fungsi Multi-cluster Deployment di Pipeline sebelumnya diaktifkan, sehingga mudah untuk menggunakan layanan demo kami di kluster ini. Dalam diagram Helm khusus ini, Anda dapat dengan mudah menghidupkan dan mematikan komponen. Karena fungsi Multi-cluster Deployment mendukung redefinisi parameter untuk setiap kluster, Anda hanya perlu mengedit penyebaran dan menetapkan komponen mana yang ingin kami jalankan di klaster mana.

Untuk penerapan multi-cluster, kami mengubah pengaturan dengan cara ini:

PKE AWS

services: true
istioresources: true
frontpage: true
catalog: true
bookings: true

PKE Azure

services: true
moviesv1: true
moviesv2: true
moviesv3: true

OKE

services: true
payments: true
notifications: true

GKE

services: true
analytics: true




Gambaran umum mesh layanan di beberapa kluster


Sekali lagi, pilih test flight di antarmuka untuk mengarahkan lalu lintas tambahan ke titik akhir yang sebelumnya dipilih. Setelah beberapa detik, sesuatu yang mirip dengan grafik di bawah ini akan muncul. Sekarang aplikasi kami didistribusikan di empat cluster di empat penyedia berbeda.

Luar biasa , bukan ?!



Konfigurasi NRA


Sebelum menyelesaikan artikel ini, lihat pengaturan terakhir: Horizontal Pod Autoscaler . Pada halaman Single-cluster Deployment satu Single-cluster Deployment di Pipeline, Anda dapat dengan mudah mengkonfigurasi HPA untuk penerapan apa pun (dalam kasus kami, analytics-v1 ).



Ketika Anda menginstal HPA dan mengirimkan lalu lintas yang cukup ke layanan Anda untuk memulai autoscaling, Anda akan melihat semakin banyak polong yang muncul di antarmuka yang sesuai dengan proyek analytics-v1 . Anda juga akan melihat peningkatan aliran kueri di sepanjang tepi grafik, yang tercermin dalam angka dan ketebalan tepi.



Ringkasan


Berkat Backyards di Pipeline, mudah untuk membuat mesh layanan hybrid atau multi-cluster. Anda kemudian dapat menggunakan, melacak, mengelola, dan memecahkan masalah aplikasi di banyak kluster menggunakan satu antarmuka pengguna yang nyaman.

Cobalah secara gratis !

Source: https://habr.com/ru/post/id479742/


All Articles