Membuat rencana untuk workload yang besar


Halaman ini menjelaskan praktik terbaik yang dapat Anda ikuti saat mengelola workload besar di beberapa cluster GKE. Praktik terbaik ini mencakup pertimbangan untuk mendistribusikan workload di beberapa project dan menyesuaikan kuota yang diperlukan.

Praktik terbaik untuk mendistribusikan beban kerja GKE di beberapa project Google Cloud

Untuk menentukan struktur project Google Cloud dan distribusi workload GKE dengan lebih baik, berdasarkan persyaratan bisnis Anda, sebaiknya pertimbangkan tindakan perencanaan dan desain berikut:

  1. Ikuti panduan di Menentukan hierarki resource untuk zona landing Google Cloud untuk membuat keputusan awal terkait struktur organisasi Anda untuk folder dan project. Google Cloud merekomendasikan penggunaan elemen Hierarki resource seperti folder dan project untuk membagi workload berdasarkan kebijakan akses atau batas organisasi Anda sendiri.
  2. Pertimbangkan apakah Anda perlu membagi workload karena kuota project. Google Cloud menggunakan kuota per project untuk membatasi penggunaan resource bersama. Anda harus mengikuti rekomendasi yang dijelaskan di bawah ini dan menyesuaikan kuota project untuk workload yang besar. Untuk sebagian besar workload, seharusnya Anda dapat mencapai kuota yang diperlukan dan yang lebih tinggi hanya dalam satu project. Artinya, kuota tidak boleh menjadi pendorong utama untuk membagi workload Anda menjadi beberapa project. Mempertahan workload Anda di project dalam jumlah yang lebih kecil akan menyederhanakan administrasi kuota dan workload.
  3. Pertimbangkan apakah Anda berencana menjalankan workload yang sangat besar (yang berskala ratusan ribu CPU atau lebih). Dalam hal ini, memisahkan beban kerja Anda menjadi beberapa project dapat meningkatkan ketersediaan resource cloud (seperti CPU atau GPU). Hal ini dimungkinkan karena penggunaan konfigurasi virtualisasi zona yang dioptimalkan. Dalam kasus tersebut, hubungi Account Manager Anda untuk mendapatkan dukungan dan rekomendasi khusus.

Praktik terbaik untuk menyesuaikan kuota untuk workload GKE yang besar

Bagian ini menjelaskan panduan untuk menyesuaikan kuota resource Google Cloud yang digunakan oleh workload GKE. Sesuaikan kuota untuk project Anda berdasarkan panduan berikut. Untuk mempelajari cara mengelola kuota menggunakan Konsol Google Cloud, silakan melihat Mengelola kuota.

Kuota dan praktik terbaik Compute Engine

Cluster GKE, yang berjalan dalam mode Autopilot dan Standard, menggunakan resource Compute Engine untuk menjalankan workload Anda. Berbeda dengan resource panel kontrol Kubernetes yang dikelola secara internal oleh Google Cloud, Anda dapat mengelola dan mengevaluasi kuota Compute Engine yang digunakan alur kerja Anda.

Kuota Compute Engine, untuk resource dan API, digunakan bersama oleh semua cluster GKE yang dihosting di project dan region yang sama. Kuota yang sama juga dibagikan dengan resource Compute Engine lain (tidak terkait GKE) (seperti instance VM mandiri atau grup instance).

Nilai kuota default dapat mendukung beberapa ratus worker node dan memerlukan penyesuaian untuk workload yang lebih besar. Namun, sebagai administrator platform, Anda dapat menyesuaikan kuota Compute Engine secara proaktif untuk memastikan cluster GKE Anda memiliki resource yang cukup. Anda juga harus mempertimbangkan kebutuhan resource mendatang saat mengevaluasi atau menyesuaikan nilai kuota.

Kuota untuk resource Compute Engine yang digunakan oleh worker node GKE

Tabel berikut mencantumkan kuota resource untuk resource Compute Engine paling umum yang digunakan oleh worker node GKE. Kuota ini dikonfigurasi per project, dan per region. Kuota harus mencakup ukuran gabungan maksimum worker node GKE yang digunakan oleh workload Anda dan juga resource Compute Engine lain yang tidak terkait dengan GKE.

Kuota resource Deskripsi
CPU Jumlah CPU yang digunakan oleh semua worker node dari semua cluster.
Jenis CPU Jumlah setiap jenis CPU tertentu yang digunakan oleh semua worker node dari semua cluster.
Instance VM Jumlah semua worker node. Kuota ini secara otomatis dihitung sebagai 10x jumlah CPU.
Instance per Jaringan VPC Jumlah semua worker node yang terhubung ke Jaringan VPC.
Persistent Disk standar (GB) Total ukuran persistent boot disk standar yang terpasang ke semua worker node.
SSD Persistent Disk (GB) Total ukuran persistent boot disk SSD yang terpasang ke semua worker node.
SSD Lokal (GB) Total ukuran ephemeral disk SSD lokal yang terpasang ke semua worker node.

Pastikan juga untuk menyesuaikan kuota yang digunakan oleh resource yang mungkin diperlukan oleh workload Anda, seperti GPU, alamat IP, atau resource preemptive.

Kuota untuk panggilan Compute Engine API

Cluster besar atau skalabel memerlukan jumlah panggilan Compute Engine API yang lebih tinggi. GKE melakukan panggilan Compute Engine API ini selama aktivitas seperti:

  • Memeriksa status resource komputasi.
  • Menambahkan atau menghapus node baru ke cluster.
  • Menambahkan atau menghapus node pool baru.
  • Pelabelan berkala pada resource.

Saat merencanakan arsitektur cluster berukuran besar, sebaiknya lakukan hal berikut:

  1. Mengamati pemakaian kuota historis.
  2. Menyesuaikan kuota sesuai kebutuhan dengan tetap mempertahankan buffer yang wajar. Anda dapat merujuk ke rekomendasi praktik terbaik berikut sebagai titik awal, dan menyesuaikan kuota berdasarkan kebutuhan workload Anda.
  3. Karena kuota dikonfigurasi per region, sesuaikan kuota hanya di region tempat Anda berencana menjalankan workload yang besar.

Tabel berikut mencantumkan kuota untuk panggilan Compute Engine API. Kuota ini dikonfigurasi per project, secara independen per setiap region. Kuota digunakan bersama oleh semua cluster GKE yang dihosting di project yang sama dan di region yang sama.

Kuota API Deskripsi Praktik terbaik
Kueri per menit per region Panggilan ini digunakan oleh GKE untuk melakukan berbagai pemeriksaan terhadap status berbagai resource komputasi.

Untuk project dan region yang memiliki beberapa ratus node dinamis, sesuaikan nilai ini menjadi 3.500.

Untuk project dan region dengan beberapa ribu node yang sangat dinamis, sesuaikan nilai ini menjadi 6.000.

Permintaan baca per menit per region Panggilan ini digunakan oleh GKE untuk memantau status instance VM (node).

Untuk project dan region yang memiliki beberapa ratus node, sesuaikan nilai ini ke 12.000.

Untuk project dan region yang memiliki ribuan node, sesuaikan nilai ini menjadi 20.000.

Permintaan daftar per menit per region Panggilan ini digunakan oleh GKE untuk memantau status grup instance (node pool).

Untuk project dan region dengan beberapa ratus node dinamis, jangan mengubah nilai default karena nilai ini sudah cukup.

Untuk project dan region dengan ribuan node yang sangat dinamis, di beberapa node pool, sesuaikan nilai ini menjadi 2.500.

Permintaan Perujuk Daftar Instance per menit per region Panggilan ini digunakan oleh GKE untuk mendapatkan informasi tentang instance (node) VM yang sedang berjalan.

Untuk project dan region dengan ribuan node yang sangat dinamis, sesuaikan nilai ini menjadi 6.000.

Permintaan baca operasi per menit per region Panggilan ini digunakan oleh GKE untuk mendapatkan informasi tentang operasi Compute Engine API yang sedang berlangsung.

Untuk project dan region dengan ribuan node yang sangat dinamis, sesuaikan nilai ini menjadi 3.000.

Kuota dan praktik terbaik Cloud Logging API dan Cloud Monitoring API

Bergantung pada konfigurasi cluster Anda, workload besar yang berjalan di cluster GKE dapat menghasilkan informasi diagnostik dalam jumlah besar. Jika melebihi kuota Cloud Logging API atau Cloud Monitoring API, data logging dan pemantauan dapat hilang. Sebaiknya konfigurasikan detail log dan sesuaikan kuota Cloud Logging API dan Cloud Monitoring API untuk merekam informasi diagnostik yang dihasilkan. Managed Service for Prometheus menggunakan kuota Cloud Monitoring.

Karena setiap workload berbeda, sebaiknya Anda melakukan hal berikut:

  1. Mengamati pemakaian kuota historis.
  2. Sesuaikan kuota atau sesuaikan konfigurasi logging dan pemantauan sesuai kebutuhan. Sediakan buffer dalam kapasitas yang wajar untuk masalah yang tidak terduga.

Tabel berikut mencantumkan kuota untuk panggilan Cloud Monitoring API dan Cloud Logging API. Kuota ini dikonfigurasikan per project dan digunakan bersama oleh semua cluster GKE yang dihosting dalam project yang sama.

Layanan Kuota Deskripsi Praktik terbaik
Cloud Logging API Permintaan tulis per menit GKE menggunakan kuota ini saat menambahkan entri ke file log yang disimpan di Cloud Logging.

Rasio penyisipan log bergantung pada jumlah log yang dihasilkan oleh pod di cluster Anda. Tingkatkan kuota Anda berdasarkan jumlah pod, panjang logging aplikasi, dan konfigurasi logging.

Untuk mempelajari lebih lanjut, silakan melihat mengelola log GKE.

Cloud Monitoring API Permintaan penyerapan deret waktu per menit

GKE menggunakan kuota ini saat mengirim metrik Prometheus ke Cloud Monitoring:

  • Metrik Prometheus memakai sekitar 1 panggilan per detik untuk setiap 200 sampel per detik yang Anda kumpulkan. Volume penyerapan ini bergantung pada beban kerja dan konfigurasi GKE Anda; mengekspor lebih banyak deret waktu Prometheus akan menghasilkan lebih banyak kuota yang digunakan.

Pantau dan sesuaikan kuota ini sebagaimana mestinya.

Untuk mempelajari lebih lanjut, silakan melihat mengelola metrik GKE.

Kuota dan praktik terbaik node GKE

GKE mendukung batas berikut:

  • Hingga 15.000 node dalam satu cluster dengan kuota default yang ditetapkan ke 5.000 node. Kuota ini ditetapkan secara terpisah untuk setiap cluster GKE dan bukan per project seperti kuota lainnya.
  • Pada versi 1.31 dan yang lebih baru, GKE mendukung cluster besar hingga 65.000 node.

Jika Anda berencana menskalakan cluster di atas 5.000 node, lakukan langkah-langkah berikut:

  1. Identifikasi cluster yang ingin Anda skalakan di atas 5.000 node.
  2. Pastikan workload Anda tetap berada dalam batas cluster dan kuota GKE setelah penskalaan.
  3. Pastikan Anda meningkatkan kuota Compute Engine sesuai kebutuhan untuk workload yang diskalakan.
  4. Pastikan jenis ketersediaan cluster Anda adalah regional dan cluster Anda menggunakan Private Service Connect.
  5. Untuk meminta peningkatan kuota jumlah node per cluster, hubungi Cloud Customer Care. Tim GKE akan menghubungi Anda untuk memastikan bahwa workload Anda mengikuti praktik terbaik skalabilitas dan siap untuk menskalakan di atas 5.000 node di satu cluster.

Praktik terbaik guna menghindari batasan lain untuk workload yang besar

Batas untuk jumlah cluster yang menggunakan Peering Jaringan VPC per jaringan per lokasi

Anda dapat membuat maksimal 75 cluster yang menggunakan Peering Jaringan VPC di jaringan VPC yang sama per lokasi (zona dan region diperlakukan sebagai lokasi terpisah). Upaya untuk membuat cluster tambahan di atas batas akan gagal dengan error yang mirip dengan berikut ini:

CREATE operation failed. Could not trigger cluster creation:
Your network already has the maximum number of clusters: (75) in location us-central1.

Cluster GKE dengan node pribadi yang dibuat sebelum versi 1.29 menggunakan Peering Jaringan VPC untuk menyediakan komunikasi internal antara Server Kubernetes API (yang dikelola oleh Google) dan node pribadi yang hanya memiliki alamat internal.

Untuk mengatasi masalah ini, Anda dapat menggunakan cluster yang menggunakan konektivitas Private Service Connect (PSC). Cluster dengan konektivitas PSC memberikan isolasi yang sama seperti cluster yang menggunakan Peering Jaringan VPC, tanpa batasan 75 cluster. Cluster dengan konektivitas PSC tidak menggunakan Peering Jaringan VPC dan tidak terpengaruh oleh batas jumlah peering VPC.

Anda dapat menggunakan petunjuk yang diberikan di Penggunaan kembali Peering Jaringan VPC untuk mengidentifikasi apakah cluster Anda menggunakan Peering Jaringan VPC.

Agar tidak mencapai batas saat membuat cluster baru, lakukan langkah-langkah berikut:

  1. Pastikan cluster Anda menggunakan PSC.
  2. Konfigurasikan isolasi untuk node pool menjadi pribadi menggunakan parameter enable-private-nodes untuk setiap node pool.
  3. Secara opsional, konfigurasikan isolasi untuk panel kontrol menggunakan parameter enable-private-endpoint pada tingkat cluster. Untuk mempelajari lebih lanjut, lihat Menyesuaikan isolasi jaringan.

Atau, hubungi tim dukungan Google Cloud untuk menaikkan batas 75 cluster menggunakan Peering Jaringan VPC. Permintaan tersebut dievaluasi berdasarkan kasus dan jika batas dapat ditingkatkan, peningkatan satu digit akan diterapkan.

Apa langkah selanjutnya?