全部产品
Search
文档中心

Container Service for Kubernetes:Ikhtisar AHPA

更新时间:Jul 02, 2025

Permintaan sumber daya sulit diprediksi dalam skenario cloud-native. Horizontal Pod Autoscaler (HPA) yang disediakan oleh Kubernetes menyesuaikan sumber daya dengan penundaan dan konfigurasinya kompleks. Untuk mengatasi masalah ini, Container Service for Kubernetes (ACK) meluncurkan Advanced Horizontal Pod Autoscaler (AHPA). AHPA dapat secara otomatis mengidentifikasi fluktuasi beban kerja dan memprediksi permintaan sumber daya berdasarkan data metrik historis untuk membantu Anda menerapkan skalabilitas prediktif.

Informasi latar belakang

Metode tradisional berikut digunakan untuk mengelola pod aplikasi: menentukan jumlah pod secara manual, menggunakan HPA, atau menggunakan CronHPA. Tabel berikut menjelaskan kekurangan dari metode-metode tersebut.

Metode

Kekurangan

Tentukan jumlah pod secara manual

Sumber daya terbuang dan Anda dikenakan biaya untuk sumber daya yang tidak digunakan selama jam-jam sepi.

Gunakan HPA

Aktivitas penskalaan dilakukan setelah adanya penundaan penskalaan. Aktivitas scale-out hanya dipicu jika penggunaan sumber daya melebihi ambang batas dan aktivitas scale-in hanya dipicu jika penggunaan sumber daya turun di bawah ambang batas.

Gunakan CronHPA

  • Anda perlu menentukan jumlah pod yang diperlukan selama setiap periode waktu. Jika Anda menentukan jumlah pod yang berlebihan, sumber daya terbuang. Jika Anda tidak menentukan pod yang cukup, permintaan sumber daya tidak dapat dipenuhi.

  • Anda harus memodifikasi kebijakan penskalaan untuk menyesuaikan dengan beban kerja yang berfluktuasi.

Kluster ACK menyediakan fitur AHPA yang mendukung skalabilitas prediktif. Anda dapat menggunakan AHPA untuk meningkatkan pemanfaatan sumber daya dan efisiensi manajemen sumber daya. AHPA dapat menganalisis data historis dan memprediksi jumlah pod yang diperlukan per menit dalam 24 jam ke depan. Jika menggunakan CronHPA, Anda harus membuat 1.440 jadwal secara manual (24 jam × 60 menit). Gambar berikut menunjukkan perbedaan antara penskalaan horizontal pod tradisional dan penskalaan horizontal pod prediktif.

  • Penskalaan Horizontal Pod Tradisional: Aktivitas scale-out dipicu setelah jumlah beban kerja meningkat. Sistem tidak dapat menyediakan pod pada kesempatan pertama untuk menangani beban kerja yang berfluktuasi karena penundaan penskalaan.

  • Penskalaan Horizontal Pod Prediktif: AHPA mengidentifikasi fluktuasi beban kerja berdasarkan nilai historis metrik tertentu dan waktu yang dihabiskan pod sebelum status pod berubah menjadi Ready. Dengan cara ini, AHPA dapat menyediakan pod yang siap untuk dijadwalkan sebelum lonjakan lalu lintas terjadi, memastikan bahwa sumber daya dialokasikan tepat waktu.

Arsitektur bisnis

  • Berbagai Metrik: AHPA mendukung metrik seperti CPU, GPU, memori, permintaan per detik (QPS), waktu respons (RT), dan metrik eksternal.

  • Stabilitas: AHPA menggunakan prediksi proaktif, prediksi pasif, dan degradasi layanan untuk menjamin sumber daya yang cukup bagi aplikasi.

    • Prediksi Proaktif: AHPA memprediksi tren fluktuasi beban kerja berdasarkan data metrik historis. Prediksi proaktif cocok untuk aplikasi dengan beban kerja yang berfluktuasi secara periodik.

    • Prediksi Pasif: AHPA memprediksi fluktuasi beban kerja secara real-time dan menerapkan sumber daya sesuai kebutuhan.

  • Degradasi Layanan: AHPA memungkinkan Anda menentukan jumlah maksimum dan minimum pod dalam satu atau lebih periode waktu.

  • Berbagai Metode Penskalaan: AHPA dapat menggunakan Knative, HPA, dan Deployment untuk melakukan penskalaan.

    • Knative: AHPA membantu menyelesaikan masalah cold start dalam penskalaan sumber daya berdasarkan konkurensi, QPS, atau RT dalam skenario serverless.

    • HPA: AHPA menyederhanakan konfigurasi kebijakan penskalaan HPA dan membantu pemula menangani masalah penundaan penskalaan.

    • Deployment: AHPA dapat langsung menggunakan Deployment untuk melakukan penskalaan otomatis.

Keunggulan

  • Kinerja Tinggi: AHPA dapat memprediksi fluktuasi beban kerja dalam milidetik dan menyesuaikan sumber daya dalam hitungan detik.

  • Akurasi Tinggi: AHPA dapat mengidentifikasi fluktuasi beban kerja dengan akurasi lebih dari 95% berdasarkan prediksi proaktif dan prediksi pasif.

  • Stabilitas Tinggi: AHPA memungkinkan Anda menentukan jumlah maksimum dan minimum pod yang diperlukan dalam periode waktu yang akurat hingga menit.

Skenario

  • Aplikasi dengan beban kerja yang berfluktuasi secara periodik, seperti live streaming, pendidikan online, dan aplikasi game.

  • Skenario di mana jumlah pod tetap dan penskalaan otomatis digunakan untuk menangani fluktuasi beban kerja, misalnya lonjakan lalu lintas tak terduga dalam skenario bisnis reguler.

  • Rekomendasi sistem tentang jumlah pod yang akan disediakan diperlukan. AHPA menyediakan API Kubernetes standar untuk memungkinkan Anda memperoleh hasil prediksi. Anda dapat mengintegrasikan API ke dalam sistem bisnis Anda.

Referensi