在 GKE 中安装 nvidia 插件时得到 Init:ErrImagePull

getting Init:ErrImagePull while installing nvidia plugin in GKE

我无法在 GKE 中安装 Nvidia GPU 插件。我是按照这个linkhttps://cloud.google.com/kubernetes-engine/docs/how-to/gpus#installing_drivers安装的。在描述我得到的吊舱时

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

有人可以帮忙吗?

谢谢

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

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

创建集中式 cos-gpu-installer:fixed 的问题是我们无法将驱动程序版本绑定到 OS版本。他们在预装之前经过相关的资格和测试。因此,在特定的 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: