Anda dapat mengaktifkan dan mengelola resource unit pemrosesan grafis (GPU) di container Anda. Misalnya, Anda mungkin lebih suka menjalankan notebook kecerdasan buatan (AI) dan machine learning (ML) di lingkungan GPU. Dukungan GPU diaktifkan secara default di perangkat Google Distributed Cloud (GDC) dengan air gap.
Sebelum memulai
Untuk menyelesaikan tugas dalam dokumen ini, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan Anda.
Meminta peran IAM
Untuk membuat, menghapus, mengedit, atau melihat resource di cluster Kubernetes, minta Admin IAM Organisasi Anda untuk memberi Anda peran Namespace Admin (namespace-admin) di namespace project Anda. Dengan peran ini, Anda dapat men-deploy workload GPU di namespace project Anda.
Menyiapkan lingkungan Anda
Login dan buat file kubeconfig untuk cluster Kubernetes bare metal.
Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti
CLUSTER_KUBECONFIGdalam petunjuk ini.
Mengonfigurasi container untuk menggunakan resource GPU
Untuk menggunakan GPU dalam container, selesaikan langkah-langkah berikut:
Pastikan node cluster Kubernetes Anda mendukung alokasi resource GPU Anda:
kubectl describe nodes NODE_NAMEGanti
NODE_NAMEdengan node yang mengelola GPU yang ingin Anda periksa.Output yang relevan mirip dengan cuplikan berikut:
Capacity: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1 Allocatable: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1Tambahkan kolom
.containers.resources.requestsdan.containers.resources.limitske spesifikasi container Anda. Karena cluster Kubernetes Anda telah dikonfigurasi sebelumnya dengan mesin GPU, konfigurasinya identik untuk semua beban kerja:... containers: - name: CONTAINER_NAME image: CONTAINER_IMAGE resources: requests: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1 limits: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1 ...Ganti kode berikut:
CONTAINER_NAME: nama container.CONTAINER_IMAGE: image container untuk mengakses mesin GPU. Anda harus menyertakan jalur dan versi registry container image, sepertiREGISTRY_PATH/hello-app:1.0.
Container juga memerlukan izin tambahan untuk mengakses GPU. Untuk setiap container yang meminta GPU, tambahkan izin berikut ke spesifikasi container Anda:
... securityContext: seLinuxOptions: type: unconfined_t ...Terapkan file manifes penampung Anda:
kubectl apply -f CONTAINER_MANIFEST_FILE \ -n NAMESPACE \ --kubeconfig CLUSTER_KUBECONFIGGanti kode berikut:
CONTAINER_MANIFEST_FILE: file YAML untuk resource kustom beban kerja penampung Anda.NAMESPACE: namespace project tempat men-deploy workload container.CLUSTER_KUBECONFIG: file kubeconfig untuk cluster Kubernetes bare metal tempat Anda men-deploy workload kontainer.
Pastikan pod Anda berjalan dan menggunakan GPU:
kubectl get pods -A | grep CONTAINER_NAME \ -n NAMESPACE \ --kubeconfig CLUSTER_KUBECONFIGOutput yang relevan mirip dengan cuplikan berikut:
Port: 80/TCP Host Port: 0/TCP State: Running Ready: True Restart Count: 0 Limits: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1 Requests: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1