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 men-deploy GPU ke container, Anda harus memiliki hal berikut:
Peran Namespace Admin (
namespace-admin
) untuk men-deploy beban kerja GPU di namespace project Anda.Jalur kubeconfig untuk cluster Kubernetes bare metal. Login dan buat file kubeconfig jika Anda belum memilikinya.
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_NAME
Ganti
NODE_NAME
dengan 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: 1
Tambahkan kolom
.containers.resources.requests
dan.containers.resources.limits
ke spesifikasi container Anda. Karena cluster Kubernetes Anda telah dikonfigurasi sebelumnya dengan mesin GPU, konfigurasinya sama 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
.
Kontainer 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_KUBECONFIG
Ganti kode berikut:
CONTAINER_MANIFEST_FILE
: file YAML untuk resource kustom workload kontainer 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_KUBECONFIG
Output 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