Menyebarkan kluster Valkey pada Azure Kubernetes Service (AKS)
Dalam artikel ini, kami meninjau tantangan menggunakan zona ketersediaan Azure dengan benar saat menjalankan kluster Valkey di AKS, berbagi beberapa pertimbangan penskalaan, dan mengusulkan solusi.
Penting
Perangkat lunak sumber terbuka disebutkan di seluruh dokumentasi dan sampel AKS. Perangkat lunak yang Anda sebarkan dikecualikan dari perjanjian tingkat layanan AKS, garansi terbatas, dan dukungan Azure. Saat Anda menggunakan teknologi sumber terbuka bersama AKS, konsultasikan opsi dukungan yang tersedia dari masing-masing komunitas dan pengelola proyek untuk mengembangkan rencana.
Misalnya, repositori Ray GitHub menjelaskan beberapa platform yang bervariasi dalam tingkat waktu respons, tujuan, dan dukungan.
Microsoft bertanggung jawab untuk membangun paket sumber terbuka yang kami sebarkan di AKS. Tanggung jawab itu termasuk memiliki kepemilikan lengkap atas proses build, pemindaian, tanda tangan, validasi, dan perbaikan, bersama dengan kontrol atas biner dalam gambar kontainer. Untuk informasi selengkapnya, lihat Manajemen kerentanan untuk cakupan dukungan AKS dan AKS.
Valkey adalah fork dari proyek Redis yang mempertahankan lisensi sumber terbuka aslinya. Valkey adalah database berperforma tinggi yang mendukung datastore bernilai kunci, dan Anda dapat menggunakannya untuk penembolokan, penyimpanan sesi, antrean pesan, dan banyak lagi. Kluster Valkey memiliki beberapa simpul yang bertanggung jawab untuk menghosting penyimpanan data Valkey Anda. Valkey memecah data menjadi bagian yang lebih kecil dan menyebarkannya di antara simpul. Dalam kluster Valkey yang disederhanakan yang terdiri dari tiga simpul utama, satu simpul replika mendukung setiap simpul untuk mengaktifkan kemampuan failover dasar. Data didistribusikan di seluruh simpul, memungkinkan kluster untuk terus berfungsi meskipun salah satu node gagal.
Untuk informasi selengkapnya, lihat dokumentasi Valkey.
Tujuan dari solusi ini adalah untuk menyebarkan Valkey di AKS dengan tingkat layanan yang sama dengan tingkat Azure Cache for Redis Premium.
Tabel berikut ini mencantumkan fitur utama tingkat Azure Cache for Redis Premium dan solusi Valkey yang diusulkan:
Tingkat Azure Cache for Redis Premium | Solusi Valkey |
---|---|
Memori hingga 1,2 TB | Menggunakan tiga utama Valkey yang berjalan pada Standard_E64_v5 SKU. |
Replikasi | Menambahkan setidaknya satu pod replika per pod utama. |
Zona redundansi | Menempatkan pod primer dan replika di zona ketersediaan yang berbeda. |
Kami membuat dua sumber daya yang berbeda StatefulSet
: satu untuk yang utama Valkey dan satu untuk replika. spec.affinity
StatefulSet
API menempatkan pod utama di dua zona ketersediaan yang berbeda dan pod replika di zona ketersediaan ketiga lainnya. Pendekatan ini memastikan bahwa kegagalan zona tunggal tidak memengaruhi ketersediaan untuk shard Valkey apa pun.
Catatan
Perhatikan bahwa solusi yang disarankan dalam artikel ini berbeda dari dokumentasi Valkey, di mana Pod kluster termasuk dalam satu StatefulSet
, dan satu-satunya spec.affinity
memastikan bahwa Pod ditempatkan pada node yang berbeda. Inisialisasi kluster Valkey otomatis yang disajikan dalam dokumentasi Valkey tidak memastikan bahwa Pod utama dan replika untuk shard yang sama ditempatkan di zona ketersediaan yang berbeda.
Microsoft mempertahankan artikel ini. Kontributor berikut awalnya menulisnya:
- Nelly Kiboi | Teknisi Layanan
- Saverio Proto | Teknisi Pengalaman Pelanggan Utama
- Don Tinggi | Insinyur Pelanggan Utama
- LaBrina Mencintai | Teknisi Layanan Utama
- Ken Kilty | TPM Utama
- Russell de Pina | TPM Utama
- Colin Mixon | Manajer Produk
- Ketan Chawda | Insinyur Pelanggan Senior
- Naveed Kharadi | Teknisi Pengalaman Pelanggan
- Erin Schaffer | Pengembang Konten 2
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: