首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GKE -用gpu或cpu为节点分配吊舱

GKE -用gpu或cpu为节点分配吊舱
EN

Stack Overflow用户
提问于 2021-10-14 13:41:30
回答 2查看 281关注 0票数 1

我有一个GKE集群v1.19,它的部署只能在GPU或CPU节点上运行。

我有两个节点池,这两个池都是抢占性的,因此节点可以不可用:

  1. GPU
  2. 只限于CPU

只要GPU节点可用,我希望使用GPU节点池。如果没有可用的GPU节点,我希望将这些吊舱分配给一个只有CPU的节点。

我当前部署的yaml:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: NAME
  namespace: NAMESPACE
spec:
  selector:
    matchLabels:
      app: NAME
  template:
    metadata:
      labels:
        app: NAME
    spec:
      nodeSelector:
        cloud.google.com/gke-preemptible: "true"
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            preference:
              matchExpressions:
              - key: cloud.google.com/gke-accelerator
                operator: In
                values:
                - nvidia-tesla-t4
      containers:
      - name: NAME
        image: IMAGE
        resources:
          requests:
            memory: 28.0Gi
            cpu: 3000m
          limits:
            cpu: 4000m
            nvidia.com/gpu: 1
      tolerations:
      - effect: NoSchedule
        key: nvidia.com/gpu
        operator: Exists

上述yaml允许将pod分配给GPU节点,但不分配给CPU节点。如果我错了,我必须设置limits: nvidia.com/gpu: 1才能使用gpu,但这需要节点有nvidia.com/gpu,这样就不能将它分配给CPU唯一的节点。

我怎样才能做到这样的行为?

EN

回答 2

Stack Overflow用户

发布于 2021-10-15 02:29:59

我假设您的问题是在使用limits命令之前如何设置GPU。请检查下面的步骤和指南库本特斯与GPU。

用GPU创建新的纬向 / 区域性集群

安装NVIDIA GPU设备驱动程序

kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml

使用GPU的节点自动配置\

gcloud container clusters update CLUSTER_NAME --enable-autoprovisioning \ --autoprovisioning-scopes=https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring,https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/compute

要了解有关自动配置的更多信息,请参见自动配给页面。

有关GPU的更多指南,您可以参考此链接

票数 0
EN

Stack Overflow用户

发布于 2021-10-15 10:13:42

你不能这么做。GKE使用nvidia.com/gpuNoSchedule自动污染GPU节点。因此,如果没有公差,吊舱就不能安排在GPU节点上。(请注意,GKE会自动将公差添加到对nvidia.com/gpu设置限制的豆荚中)。

这里最好的选择是启用集群自动分词器或启用节点自动配置。至少这样,新节点将根据需要(并可用)添加到集群中。当然,可以添加的节点数量取决于您的GPU配额。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69571788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档