Memilih kelas komputasi untuk Pod Autopilot


Halaman ini menunjukkan cara memilih kelas komputasi tertentu untuk menjalankan workload yang memiliki persyaratan hardware unik di cluster Autopilot Google Kubernetes Engine (GKE). Sebelum memulai, pahami konsep kelas komputasi di Autopilot GKE.

Ringkasan kelas komputasi Autopilot

Autopilot menawarkan kelas komputasi yang dirancang untuk menjalankan workload yang memiliki persyaratan hardware tertentu. Kelas komputasi ini berguna untuk workload seperti tugas machine learning dan AI, atau menjalankan database traffic tinggi secara real-time.

Kelas komputasi ini adalah subset dari rangkaian mesin Compute Engine, dan menawarkan fleksibilitas di luar kelas komputasi tujuan umum default untuk Autopilot. Misalnya, kelas Scale-Out menonaktifkan multi-threading secara bersamaan sehingga setiap vCPU adalah satu inti fisik.

Berdasarkan kebutuhan Pod masing-masing, Anda dapat mengonfigurasi Pod Autopilot reguler atau Pod Spot untuk meminta node yang didukung oleh kelas komputasi ini. Anda juga dapat meminta arsitektur CPU tertentu, seperti Arm, di kelas komputasi yang mendukung arsitektur tersebut.

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.

Minta kelas komputasi di Pod Autopilot

Untuk memberi tahu Autopilot agar menempatkan Pod Anda di class komputasi tertentu, tentukan label cloud.google.com/compute-class dalam nodeSelector atau aturan afinitas node, seperti dalam contoh berikut:

nodeSelector

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: hello-app
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: hello-app
      template:
        metadata:
          labels:
            app: hello-app
        spec:
          nodeSelector:
            cloud.google.com/compute-class: "COMPUTE_CLASS"
          containers:
          - name: hello-app
            image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
            resources:
              requests:
                cpu: "2000m"
                memory: "2Gi"
    

Ganti COMPUTE_CLASS dengan nama class komputasi berdasarkan kasus penggunaan Anda, seperti Scale-Out. Jika memilih Accelerator, Anda juga harus menentukan GPU yang kompatibel. Untuk mendapatkan petunjuk, lihat Men-deploy workload GPU dalam mode Autopilot. Jika memilih Performance, Anda juga harus memilih seri mesin Compute Engine di pemilih node. Untuk mengetahui petunjuknya, lihat Menjalankan workload yang membutuhkan CPU intensif dengan performa optimal.

nodeAffinity

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: hello-app
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: hello-app
      template:
        metadata:
          labels:
            app: hello-app
        spec:
          terminationGracePeriodSeconds: 25
          containers:
          - name: hello-app
            image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
            resources:
              requests:
                cpu: "2000m"
                memory: "2Gi"
                ephemeral-storage: "1Gi"
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                - matchExpressions:
                  - key: cloud.google.com/compute-class
                    operator: In
                    values:
                    - "COMPUTE_CLASS"
      

Ganti COMPUTE_CLASS dengan nama class komputasi berdasarkan kasus penggunaan Anda, seperti Scale-Out. Jika memilih Accelerator, Anda juga harus menentukan GPU yang kompatibel. Untuk mendapatkan petunjuk, lihat Men-deploy workload GPU dalam mode Autopilot. Jika memilih Performance, Anda juga harus memilih seri mesin Compute Engine di pemilih node. Untuk mengetahui petunjuknya, lihat Menjalankan workload yang membutuhkan CPU intensif dengan performa optimal.

Anda juga dapat meminta kelas komputasi tertentu untuk Pod Spot.

Menentukan permintaan resource

Saat memilih kelas komputasi, pastikan Anda menentukan permintaan resource untuk Pod berdasarkan Permintaan resource minimum dan maksimum untuk kelas yang dipilih. Jika permintaan Anda kurang dari jumlah minimum, Autopilot akan melakukan penskalaan otomatis pada permintaan Anda. Namun, jika permintaan Anda lebih besar dari maksimum, Autopilot tidak akan men-deploy Pod Anda dan akan menampilkan pesan error.

Memilih arsitektur CPU

Beberapa kelas komputasi mendukung beberapa arsitektur CPU. Misalnya, kelas Scale-Out mendukung arsitektur Arm dan x86. Jika Anda tidak meminta arsitektur tertentu, Autopilot akan menyediakan node yang memiliki arsitektur default dari kelas komputasi yang ditentukan. Jika Pod Anda perlu menggunakan arsitektur yang berbeda, minta arsitektur tersebut di pemilih node atau aturan afinitas node, bersama permintaan kelas komputasi Anda. Kelas komputasi yang Anda minta harus mendukung arsitektur CPU yang Anda tentukan.

Untuk memahami petunjuk, lihat Men-deploy Pod Autopilot pada arsitektur Arm.

Langkah selanjutnya