在 GKE 中安装 nvidia 插件时获取 Init:ErrImagePull

Posted

技术标签:

【中文标题】在 GKE 中安装 nvidia 插件时获取 Init:ErrImagePull【英文标题】:getting Init:ErrImagePull while installing nvidia plugin in GKE 【发布时间】:2022-01-14 23:38:11 【问题描述】:

我无法在 GKE 中安装 Nvidia GPU 插件。我按照此链接https://cloud.google.com/kubernetes-engine/docs/how-to/gpus#installing_drivers 进行安装。在描述我得到的 pod 时

Failed to pull image "cos-nvidia-installer:fixed": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/library/cos-nvidia-installer:fixed": failed to resolve reference "docker.io/library/cos-nvidia-installer:fixed": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

有人可以帮忙吗?

谢谢

【问题讨论】:

【参考方案1】:

ErrImagePull 条件表示节点无法从容器镜像注册表中拉取容器镜像。此问题的一些潜在原因:

容器不可用或无法从节点访问 注册表中不存在容器映像 部署清单中指定的容器映像不正确

创建集中式 cos-gpu-installer:fixed 的问题在于,我们无法将驱动程序版本与操作系统版本联系起来。它们在预加载之前要经过相关的资格认证和测试。因此,在特定的 GKE 版本上,您始终会获得相同的驱动程序版本。这使得拥有节点可以从注册表中提取的单个标签变得具有挑战性。

预加载的安装程序映像 "cos-nvidia-installer:fixed" 进行了一些更改,仅对某个 cos 版本使用默认驱动程序版本。

一种解决方法是在配置文件中使用另一个容器镜像设置驱动程序版本,即在守护程序集(e.g. gcr.io/cos-cloud/cos-gpu-installer@sha256:8d86a652759f80595cafed7d3dcde3dc53f57f9bc1e33b27bc3cfa7afea8d483)中指定完整镜像版本,您也可以设置最新版本的容器镜像并尝试。由于此版本引用的是预加载的同一个图像,因此图像拉取应该非常快。

尝试更改configuration file 中的这些字段:

  initContainers:
     - image: gcr.io/cos-cloud/cos-gpu-installer@sha256:8d86a652759f80595cafed7d3dcde3dc53f57f9bc1e33b27bc3cfa7afea8d483
       name: nvidia-driver-installer

    env:
      - name: NVIDIA_INSTALL_DIR_HOST
        value: /home/kubernetes/bin/nvidia
      - name: NVIDIA_INSTALL_DIR_CONTAINER
        value: /usr/local/nvidia
      - name: VULKAN_ICD_DIR_HOST
        value: /home/kubernetes/bin/nvidia/vulkan/icd.d
      - name: VULKAN_ICD_DIR_CONTAINER
        value: /etc/vulkan/icd.d
      - name: ROOT_MOUNT_DIR
        value: /root
      - name: NVIDIA_DRIVER_VERSION
        value: "450.51.06"
    volumeMounts:

【讨论】:

以上是关于在 GKE 中安装 nvidia 插件时获取 Init:ErrImagePull的主要内容,如果未能解决你的问题,请参考以下文章

在奇异容器中安装驱动程序后,nvidia-smi 无法正常工作

在 Docker 中安装 GCP Profiler 代理时遇到问题

在 nvidia nsight 中安装 CUB

Docker中安装rabbitmq并启用插件

无法在 Jenkins 中安装 Groovy 插件

怎么在谷歌浏览器中安装.crx扩展名的离线Chrome插件?