Membuat rencana untuk workload yang besar


Halaman ini menjelaskan praktik terbaik yang dapat Anda ikuti saat mengelola workload yang 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 workload 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 praktik terbaik Mengelola resource cloud guna membuat keputusan awal untuk 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 kasus semacam ini, membagi workload 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 guna menyesuaikan kuota untuk workload GKE yang berukuran 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 ke resource Compute Engine lain (yang tidak terkait dengan 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 secara proaktif menyesuaikan kuota Compute Engine untuk memastikan bahwa 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 otomatis dihitung 10x jumlah CPU.
Instance per Jaringan VPC Jumlah semua worker node yang terhubung ke Jaringan VPC.
Standar Persistent Disk (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 resource secara berkala.

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 melihat 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 terpisah 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 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 dengan ribuan node, sesuaikan nilai ini ke 20.000.

Permintaan daftar per menit per wilayah 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 mungkin akan hilang. Sebaiknya konfigurasi panjang log dan sesuaikan kuota Cloud Logging API serta Cloud Monitoring API untuk mengambil informasi diagnostik yang dihasilkan. Managed Service for Prometheus memakai 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.

Tingkat penyisipan log bergantung pada jumlah log yang dihasilkan oleh pod di cluster Anda. Tingkatkan kuota Anda berdasarkan jumlah pod, banyaknya 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 workload dan konfigurasi GKE Anda. Mengekspor lebih banyak deret waktu Prometheus akan mengakibatkan lebih banyak kuota yang terpakai.

Pantau dan sesuaikan kuota ini sebagaimana mestinya.

Untuk mempelajari lebih lanjut, silakan melihat mengelola metrik GKE.

Kuota dan praktik terbaik node GKE

GKE mendukung 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. Jika Anda berencana untuk 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 isolasi jaringan bersifat pribadi.
  5. Minta penambahan kuota untuk jumlah node per cluster dengan membuat tiket dukungan.

Tim GKE akan menghubungi Anda untuk memastikan bahwa workload Anda sudah 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 jumlah cluster yang menggunakan Peering Jaringan VPC per jaringan per lokasi

Anda dapat membuat maksimal 75 cluster pribadi yang menggunakan Peering Jaringan VPC di Jaringan VPC yang sama per setiap lokasi (zona dan region diperlakukan sebagai lokasi terpisah). Upaya untuk membuat cluster tambahan melebihi 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 pribadi GKE 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 menyediakan isolasi yang sama seperti cluster pribadi tanpa batasan 75 cluster. Cluster yang didasarkan pada PSC tidak menggunakan Peering Jaringan VPC dan tidak terpengaruh oleh batas jumlah peering VPC.

Anda dapat menggunakan petunjuk yang disediakan dalam 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. Buat cluster PSC dengan menggunakan parameter no-enable-private-nodes selama pembuatan cluster.
  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, silakan melihat Mengubah isolasi cluster.

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

Apa langkah selanjutnya?