Menjalankan workload intensif CPU dengan performa optimal


Halaman ini menunjukkan cara mengoptimalkan performa workload intensif CPU dengan memberi tahu Google Kubernetes Engine (GKE) untuk menempatkan setiap Pod di node-nya sendiri, dengan akses penuh ke semua resource node. Untuk menggunakan model penempatan Pod ini, minta class komputasi Performa dalam beban kerja Autopilot Anda.

Manfaat class komputasi Performa

Node khusus per Pod ideal saat Anda menjalankan beban kerja intensif CPU berskala besar yang mungkin memerlukan akses ke kemampuan pada virtual machine (VM) yang mendasarinya. Misalnya, workload pelatihan AI/ML CPU intensif atau workload batch komputasi berperforma tinggi (HPC).

Pod pada node khusus ini memiliki manfaat berikut:

  • Performa yang dapat diprediksi: Akses semua resource node kapan saja.
  • Beban kerja yang dapat burst: Jika Anda tidak menetapkan batas resource dalam manifes, Pod class Performance Anda dapat meledak ke semua kapasitas yang tidak terpakai pada node dengan risiko minimal penghapusan tekanan node Kubernetes.

Cara kerja Pod class Performa

Anda men-deploy Pod yang memiliki karakteristik berikut:

  • Memilih class Performance dan rangkaian mesin Compute Engine
  • Menentukan permintaan resource dan, idealnya, tidak menetapkan batas resource

GKE melakukan hal berikut:

  • Memastikan Pod yang di-deploy meminta setidaknya resource minimum untuk class komputasi
  • Menghitung total permintaan resource dari Pod yang di-deploy dan semua DaemonSets dalam cluster
  • Menyediakan node yang didukung oleh rangkaian mesin yang dipilih
  • Memodifikasi manifes Pod dengan kombinasi pemilih dan toleransi node untuk memastikan bahwa Pod berjalan pada node-nya sendiri

Kompatibilitas dengan fitur GKE lainnya

Anda dapat menggunakan Pod class Performance dengan kemampuan dan fitur GKE berikut:

Pod Spot dan Pod runtime yang diperpanjang bersifat eksklusif satu sama lain. GKE tidak menerapkan permintaan resource minimum yang lebih tinggi untuk Pod class Performa yang menggunakan pemisahan workload.

Harga

Pod Anda dapat menggunakan seluruh VM dasar dan hardware yang terpasang kapan saja, dan Anda akan dikenai biaya atas hardware ini oleh Compute Engine, dengan layanan premium untuk pengelolaan dan skalabilitas node Autopilot. Untuk mengetahui detailnya, lihat harga GKE.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu initialize gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Hubungkan ke cluster Anda

Gunakan Google Cloud CLI untuk terhubung ke cluster Autopilot:

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=LOCATION

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda.
  • LOCATION: lokasi Compute Engine dari cluster.

Men-deploy Pod class Performance

  1. Simpan manifes berikut sebagai perf-class-pod.yaml:

    apiVersion: v1
    kind: Pod
    metadata:
      name: performance-pod
    spec:
      nodeSelector:
        cloud.google.com/compute-class: Performance
        cloud.google.com/machine-family: MACHINE_SERIES
      containers:
      - name: my-container
        image: "k8s.gcr.io/pause"
        resources:
          requests:
            cpu: 20
            memory: "100Gi"
    

    Ganti MACHINE_SERIES dengan seri mesin Compute Engine untuk Pod Anda, seperti c3. Untuk nilai yang didukung, lihat Deret mesin yang didukung dalam dokumen ini.

  2. Deploy Pod:

    kubectl apply -f perf-class-pod.yaml
    

Menggunakan SSD Lokal di Pod class Performa

Pod class performa dapat menggunakan SSD Lokal untuk penyimpanan efemeral jika Anda memilih rangkaian mesin yang menyertakan SSD Lokal. GKE mempertimbangkan permintaan penyimpanan sementara saat menyediakan node untuk Pod class Performance.

  1. Simpan manifes berikut sebagai perf-class-ssd-pod.yaml:

    apiVersion: v1
    kind: Pod
    metadata:
      name: performance-pod
    spec:
      nodeSelector:
        cloud.google.com/compute-class: Performance
        cloud.google.com/machine-family: MACHINE_SERIES
        cloud.google.com/gke-ephemeral-storage-local-ssd: "true"
      containers:
      - name: my-container
        image: "k8s.gcr.io/pause"
        resources:
          requests:
            cpu: 12
            memory: "50Gi"
            ephemeral: "200Gi"
    

    Ganti MACHINE_SERIES dengan seri mesin yang didukung yang juga mendukung SSD Lokal. Jika rangkaian mesin yang Anda tentukan tidak mendukung SSD Lokal, deployment akan gagal dengan menampilkan error.

  2. Deploy Pod:

    kubectl apply -f perf-class-pod.yaml
    

Seri mesin yang didukung

Class komputasi Performa mendukung rangkaian mesin berikut:

Seri mesin Pemilihan SSD lokal di Autopilot
Seri mesin C3 (c3)
Seri mesin C3D (c3d)
Seri mesin H3 (h3)
Seri mesin C2 (c2)
Seri mesin C2D (c2d)
Seri mesin T2D (t2d)
Seri mesin T2A (t2a)

Untuk membandingkan seri mesin ini dan kasus penggunaannya, lihat Perbandingan seri mesin dalam dokumentasi Compute Engine.

Cara GKE memilih ukuran mesin

Untuk memilih ukuran mesin dalam seri mesin yang ditentukan, GKE menghitung total CPU, total memori, dan total permintaan penyimpanan efemeral dari Pod class Performance serta DaemonSet apa pun yang akan dijalankan pada node baru. GKE membulatkan nilai ini ke jenis mesin Compute Engine terdekat yang tersedia, yang mendukung semua nilai total ini.

  • Contoh 1: Pertimbangkan Pod class Performa yang memilih deret mesin C3. Total permintaan resource termasuk DaemonSets adalah sebagai berikut:

    • 70 vCPU
    • 200 GiB memori

    GKE menempatkan Pod pada node yang didukung oleh jenis mesin c3-standard-88, yang memiliki 88 vCPU dan memori 352 GB.

  • Contoh 2: Pertimbangkan Pod class Performa yang memilih deret mesin C3D dan SSD Lokal untuk penyimpanan efemeral. Total permintaan resource termasuk DaemonSets adalah sebagai berikut:

    • 12 vCPU
    • Memori 50 GiB
    • 200 GiB penyimpanan sementara

    GKE menempatkan Pod pada node yang menggunakan jenis mesin c3d-standard-16-lssd, yang memiliki 16 vCPU, memori 64 GiB, dan 365 GiB kapasitas SSD Lokal.

Langkah selanjutnya