提问者:小点点

使用terraform使用GPU添加GKE节点池


我尝试用GPU创建google_container_node_pool。我尝试了机器类型nvidia-tesla-p4和a2-hygpu-1g,每个都返回不同的错误:

项目/我的-项目-id/区域/我们-中央1-a/机器类型/nvidia-tesla-p 4

错误:错误创建NodePool: googleapi:错误403:不足的区域配额来满足请求:资源"PREEMPTIBLE_NVIDIA_V100_GPUS":请求需要"3.0"并且是"2.0"的缩写。项目的配额为"1.0",可用"1.0"。查看和管理配额https://console.cloud.google.com/iam-admin/quotas?usage=USED

当我查看配额页面时,相关配额显示“所有99个配额都在限制范围内”。

根据要求,我需要配额,但他们没有指定哪个配额。

更新:


共2个答案

匿名用户

您在配额页面中看不到错误,因为没有违反您的配额,因为没有创建节点。

例如,如果您想创建一个包含3个节点的节点池,每个节点有1个V100 GPU,请转到配额页面并请求将PREEMPTIBLE_NVIDIA_V100_GPUS的数量从1扩展到3。重复每个GPU和区域的相关数字。请注意,您应该等到GCP批准您的请求后,再尝试在Terraform中再次创建资源。

如果您不想扩展配额,只想检查您的TF配置,只需将GPU节点的数量最小化到不违反配额的数量。

匿名用户

您看到的第一条消息是因为GCP中没有名为nvidia-tesla-p4的机器类型。在本文档中,有一个可用机器类型的完整列表,但请确保使用您正在启动GKE集群的区域和区域中可用的机器类型。您可以使用以下命令检查区域中可用的有效机器类型:gcloud compute机器类型列表--filter="zone:(ZONE … )"

关于第二条消息,很明显,您没有足够的配额用于该区域中的特定GPU。正如@hersenrat所提到的,您看不到任何配额被用尽,因为集群从未被创建过。

如GKE中运行GPU的留档可用性部分所述:

GPU在特定区域和区域中可用。当您请求GPU配额时,请考虑您打算在其中运行集群的区域。

有关适用区域和区域的完整列表,请参阅计算引擎上的GPU。

要查看每个区域中支持的所有GPU加速器类型的列表,请运行以下命令:gcloud compute加速器类型列表--filter="zone:(ZONE)"

当您将GPU添加到可抢占实例时,您使用常规GPU配额,我也会确保区域中V100的配额足够。如果您需要可抢占GPU的单独配额,请按照此处所述请求单独的可抢占GPU配额。

我建议进入配额页面,筛选这些具体的配额,确保点击详情栏下的“全部配额”。将显示区域配额。

>

  • 服务:计算引擎API

      Name: GPUs (all regions)
    
      Quota Metric: compute.googleapis.com/gpus_all_regions
    
      Limit Name: GPUS-ALL-REGIONS-per-project
    

    服务:计算引擎API

       Name: NVIDIA V100 GPUs
    
       Quota Metric: compute.googleapis.com/nvidia_v100_gpus
    
       Limit Name: NVIDIA-V100-GPUS-per-project-zone/NVIDIA-V100-GPUS-per-project-region
    

    服务:计算引擎API

       Name: Preemptible NVIDIA V100 GPUs
    
       Quota Metric: compute.googleapis.com/preemptible_nvidia_v100_gpus
    
       Limit Name: PREEMPTIBLE-NVIDIA-V100-GPUS-per-project-zone/PREEMPTIBLE-NVIDIA-V100-GPUS-per-project-region
    

    确保您尝试使用的特定GPU型号有足够的全球和区域配额。如此处所述,需要单独请求可抢占GPU。

    ------更新----

    此外,请注意,只能请求区域配额以增加配额。列出的任何区域配额都取决于相应的区域配额。在此捕获中,即使区域限制读取为无限制,区域配额也为0,并且尝试在整个区域中使用GPU将失败。(如您所见,只有区域配额可用于版本)。

    您提到现在您收到一条消息,提到您没有足够的A2 CPU配额。请确保区域中有足够的CPU配额和足够的A2CPU配额。为此,您必须考虑要部署的机器类型所需的vCPU数量。

    您可以在此处阅读有关使用CPU配额的更多信息。

    我希望这些信息是有用的,并澄清你的问题。