无法在 GKE 上请求具有一个 GPU 的集群
Unable to request cluster with one GPU on GKE
我正在尝试创建一个包含 1 个节点和 1 个 GPU/node 的最小集群。我的命令:
gcloud container clusters create cluster-gpu --num-nodes=1 --zone=us-central1-a --machine-type="n1-highmem-2" --accelerator="type=nvidia-tesla-k80,count=1" --scopes="gke-default,storage-rw"
创建集群。现在当下面pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: gke-training-pod-gpu
spec:
containers:
- name: my-custom-container
image: gcr.io/.../object-classification:gpu
resources:
limits:
nvidia.com/gpu: 1
应用于我的集群,我可以在 GKE 仪表板中看到从未创建 gke-training-pod-gpu
pod。当我像上面那样做时,只是将 num-nodes=1
替换为 num-nodes=2
,这次我得到以下错误:
ERROR: (gcloud.container.clusters.create) ResponseError: code=403, message=Insufficient regional quota to satisfy request: resource "NVIDIA_K80_GPUS": request requires '2.0' and is short '1.0'. project has a quota of '1.0' with '1.0' available. View and manage quotas at https://console.cloud.google.com/iam-admin/quotas?usage=USED&project=...
当配额为 1 时,有什么方法可以使用 GPU 吗?
编辑:
当使用 kubectl apply
命令创建 pod 时,kubectl describe pod gke-training-pod-gpu
命令显示以下事件:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 48s (x2 over 48s) default-scheduler 0/1 nodes are available: 1 Insufficient nvidia.com/gpu.
我认为最好的解决方案是在 IAM & Admin Quotas page 中请求增加配额。
至于发生这种情况的原因,我只能想象节点和 pod 都在请求 GPU,但由于配额上限,只有节点在获取它。
看起来您需要 install the NVIDIA CPU device driver 在您的工作节点上。
运行
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
应该可以解决问题。
我正在尝试创建一个包含 1 个节点和 1 个 GPU/node 的最小集群。我的命令:
gcloud container clusters create cluster-gpu --num-nodes=1 --zone=us-central1-a --machine-type="n1-highmem-2" --accelerator="type=nvidia-tesla-k80,count=1" --scopes="gke-default,storage-rw"
创建集群。现在当下面pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: gke-training-pod-gpu
spec:
containers:
- name: my-custom-container
image: gcr.io/.../object-classification:gpu
resources:
limits:
nvidia.com/gpu: 1
应用于我的集群,我可以在 GKE 仪表板中看到从未创建 gke-training-pod-gpu
pod。当我像上面那样做时,只是将 num-nodes=1
替换为 num-nodes=2
,这次我得到以下错误:
ERROR: (gcloud.container.clusters.create) ResponseError: code=403, message=Insufficient regional quota to satisfy request: resource "NVIDIA_K80_GPUS": request requires '2.0' and is short '1.0'. project has a quota of '1.0' with '1.0' available. View and manage quotas at https://console.cloud.google.com/iam-admin/quotas?usage=USED&project=...
当配额为 1 时,有什么方法可以使用 GPU 吗?
编辑:
当使用 kubectl apply
命令创建 pod 时,kubectl describe pod gke-training-pod-gpu
命令显示以下事件:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 48s (x2 over 48s) default-scheduler 0/1 nodes are available: 1 Insufficient nvidia.com/gpu.
我认为最好的解决方案是在 IAM & Admin Quotas page 中请求增加配额。
至于发生这种情况的原因,我只能想象节点和 pod 都在请求 GPU,但由于配额上限,只有节点在获取它。
看起来您需要 install the NVIDIA CPU device driver 在您的工作节点上。
运行
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
应该可以解决问题。