Я создал небольшой кластер с узлами GPU в GKE следующим образом:
# create cluster and CPU nodes
gcloud container clusters create clic-cluster \
--zone us-west1-b \
--machine-type n1-standard-1 \
--enable-autoscaling \
--min-nodes 1 \
--max-nodes 3 \
--num-nodes 2
# add GPU nodes
gcloud container node-pools create gpu-pool \
--zone us-west1-b \
--machine-type n1-standard-2 \
--accelerator type=nvidia-tesla-k80,count=1 \
--cluster clic-cluster \
--enable-autoscaling \
--min-nodes 1 \
--max-nodes 2 \
--num-nodes 1
Когда я отправляю задание GPU, оно успешно заканчивается на узле GPU. Однако, когда я отправляю вторую работу, я получаю UnexpectedAdmissionError
от kubernetes:
Не удалось обновить ресурсы плагина из-за запрошенного числа устройств, недоступных для nvidia.com/gpu. Запрошено: 1, Доступно: 0, что является неожиданным.
Я ожидал, что кластер запустит второй узел графического процессора и поместит задание туда. Есть идеи, почему этого не произошло? Моя спецификация работы выглядит примерно так:
apiVersion: batch/v1
kind: Job
metadata:
name: <job_name>
spec:
template:
spec:
initContainers:
- name: decode
image: "<decoder_image>"
resources:
limits:
nvidia.com/gpu: 1
command: [...]
[...]
containers:
- name: evaluate
image: "<evaluation_image>"
command: [...]