Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penskalaan beban kerja
Penskalaan beban kerja di Kubernetes sangat penting untuk menjaga kinerja aplikasi dan efisiensi sumber daya di lingkungan yang dinamis. Penskalaan membantu memastikan bahwa aplikasi dapat menangani berbagai beban kerja tanpa penurunan kinerja. Kubernetes menyediakan kemampuan untuk secara otomatis menskalakan sumber daya naik atau turun berdasarkan metrik real-time, yang memungkinkan organisasi merespons perubahan lalu lintas dengan cepat. Elastisitas ini tidak hanya meningkatkan pengalaman pengguna tetapi juga mengoptimalkan pemanfaatan sumber daya, membantu meminimalkan biaya yang terkait dengan sumber daya yang kurang digunakan atau terlalu banyak.
Selain itu, penskalaan beban kerja yang efektif mendukung ketersediaan tinggi, memastikan bahwa aplikasi tetap responsif bahkan selama periode permintaan puncak. Penskalaan beban kerja di Kubernetes memungkinkan organisasi memanfaatkan sumber daya cloud dengan lebih baik dengan menyesuaikan kapasitas secara dinamis untuk memenuhi kebutuhan saat ini.
Bagian ini membahas jenis penskalaan beban kerja berikut:
Penskala Otomatis Pod Horizontal
Horizontal Pod Autoscaler
Dalam konteks di mana permintaan pengguna mungkin berfluktuasi jauh dari waktu ke waktu, aplikasi web seperti, layanan mikro, dan APIs, HPA sangat membantu.
Horizontal Pod Autoscaler menyediakan fitur-fitur utama berikut:
-
Penskalaan otomatis — HPA secara otomatis menambah atau mengurangi jumlah replika pod sebagai respons terhadap metrik waktu nyata, memastikan bahwa aplikasi dapat menskalakan untuk memenuhi permintaan pengguna.
-
Keputusan berbasis metrik — Secara default, skala HPA berdasarkan pemanfaatan CPU. Namun, itu juga dapat menggunakan metrik khusus, seperti penggunaan memori atau metrik khusus aplikasi, memungkinkan strategi penskalaan yang lebih disesuaikan.
-
Parameter yang dapat dikonfigurasi — Anda dapat memilih jumlah replika minimum dan maksimum serta persentase pemanfaatan yang diinginkan, memberi Anda wewenang atas seberapa parah penskalaan seharusnya.
-
Integrasi dengan Kubernetes — Untuk memantau dan memodifikasi sumber daya, HPA bekerja bersama-sama dengan elemen ekosistem Kubernetes lainnya, termasuk Metrics Server, Kubernetes API, dan adaptor metrik kustom.
-
Pemanfaatan sumber daya yang lebih baik — HPA membantu memastikan bahwa sumber daya digunakan secara efektif, menurunkan biaya dan meningkatkan kinerja, dengan memodifikasi jumlah pod secara dinamis.
Cluster Proporsional Autoscaler
Cluster Proportional Autoscaler
Pendekatan ini sangat berguna untuk aplikasi yang perlu mempertahankan tingkat redundansi atau ketersediaan tertentu relatif terhadap ukuran cluster, seperti CoreDNS dan layanan infrastruktur lainnya. Beberapa kasus penggunaan utama untuk CPA meliputi:
-
Penyediaan berlebihan
-
Skala layanan platform inti
-
Skalakan beban kerja karena CPA tidak memerlukan server metrik atau Adaptor Prometheus
Dengan mengotomatiskan proses penskalaan, CPA membantu bisnis dalam mempertahankan distribusi beban kerja yang seimbang, meningkatkan efisiensi sumber daya, dan memastikan bahwa aplikasi disediakan dengan tepat untuk memenuhi permintaan pengguna.
Cluster Proportional Autoscaler menyediakan fitur-fitur utama berikut:
Penskalaan berbasis node — CPA menskalakan replika sesuai dengan jumlah node cluster yang dapat dijadwalkan, memungkinkan aplikasi untuk memperluas atau berkontraksi secara proporsional dengan ukuran cluster.
Penyesuaian proporsional — Untuk memastikan bahwa aplikasi dapat menskalakan sesuai dengan perubahan ukuran cluster, autoscaler menetapkan hubungan proporsional antara jumlah node dan jumlah replika. Hubungan ini digunakan untuk menghitung jumlah replika yang diinginkan untuk beban kerja.
Integrasi dengan komponen Kubernetes — CPA bekerja dengan komponen Kubernetes standar seperti Horizontal Pod Autoscaler (HPA) tetapi berfokus secara khusus pada jumlah node daripada metrik pemanfaatan sumber daya. Integrasi ini memungkinkan strategi penskalaan yang lebih komprehensif.
Klien API Golang — Untuk memantau jumlah node dan core yang tersedia, CPA menggunakan klien API Golang yang berjalan di dalam pod dan berbicara dengan server API Kubernetes.
Parameter yang dapat dikonfigurasi — Dengan menggunakan a
ConfigMap
, pengguna dapat mengatur ambang batas dan parameter penskalaan yang digunakan CPA untuk memodifikasi perilakunya dan memastikannya mengikuti rencana penskalaan yang dimaksud.
Autoscaler Berbasis Event berbasis Kubernetes
Event Driven Autoscaler (KEDA
Dengan mengotomatiskan proses penskalaan berdasarkan peristiwa, KEDA membantu organisasi mengoptimalkan pemanfaatan sumber daya, meningkatkan kinerja aplikasi, dan mengurangi biaya yang terkait dengan penyediaan berlebih. Pendekatan ini sangat berharga untuk aplikasi yang mengalami berbagai pola lalu lintas, seperti layanan mikro, fungsi tanpa server, dan sistem pemrosesan data real-time.
KEDA menyediakan fitur-fitur utama berikut:
-
Penskalaan berbasis peristiwa — KEDA memungkinkan Anda menentukan aturan penskalaan berdasarkan sumber peristiwa eksternal, seperti antrian pesan, permintaan HTTP, atau metrik khusus. Kemampuan ini membantu memastikan bahwa skala aplikasi dalam menanggapi permintaan waktu nyata.
-
Komponen ringan — KEDA adalah komponen ringan dengan tujuan tunggal yang tidak memerlukan banyak pengaturan atau overhead untuk mudah diintegrasikan ke dalam klaster Kubernetes yang ada.
-
Integrasi dengan Kubernetes — KEDA memperluas kemampuan komponen asli Kubernetes, seperti Horizontal Pod Autoscaler (HPA). KEDA menambahkan kemampuan penskalaan berbasis peristiwa ke komponen ini, meningkatkan daripada menggantinya.
-
Support untuk berbagai sumber acara — KEDA kompatibel dengan berbagai sumber acara, termasuk platform perpesanan populer seperti RabbitMQ, Apache Kafka, dan lainnya. Karena kemampuan beradaptasi ini, Anda dapat menyesuaikan penskalaan agar sesuai dengan arsitektur berbasis peristiwa unik Anda.
-
Scaler kustom — Dengan menggunakan scaler khusus, Anda dapat menetapkan metrik spesifik yang dapat digunakan KEDA untuk memulai tindakan penskalaan sebagai respons terhadap logika atau persyaratan bisnis tertentu.
-
Konfigurasi deklaratif — Sejalan dengan prinsip Kubernetes, Anda dapat menggunakan KEDA untuk mendeskripsikan perilaku penskalaan secara deklaratif dengan menggunakan sumber daya kustom Kubernetes untuk menentukan bagaimana penskalaan seharusnya terjadi.