尝试将 Dockerimage 部署到远程服务器上的 Kubernetes 时出现“ImagePullBackOff”错误

问题描述 投票:0回答:1

我正在远程服务器上工作,我在服务器上创建了一个名为“triton_server_image”的 Docker 映像,并希望在我的远程服务器上运行 triton。它成功并且正在运行。但随后我必须将 docker 镜像部署到 Kubernetes。为此,我编写了一个部署.yaml 文件和一个 service.yaml 文件,然后运行命令 -

kubectl apply -f deployment.yaml
但后来我收到了此错误 - `

Events:
  Type     Reason     Age   From               Message
  ----     ------     ----  ----               -------
  Normal   Scheduled  9s    default-scheduler  Successfully assigned default/triton-inference-server-5cd479476d-g98rl to ttogpu
  Normal   Pulling    8s    kubelet            Pulling image "triton_server_image:latest"
  Warning  Failed     7s    kubelet            Failed to pull image "triton_server_image:latest": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/library/triton_server_image:latest": failed to resolve reference "docker.io/library/triton_server_image:latest": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
  Warning  Failed     7s    kubelet            Error: ErrImagePull
  Normal   BackOff    6s    kubelet            Back-off pulling image "triton_server_image:latest"
  Warning  Failed     6s    kubelet            Error: ImagePullBackOff`

但是由于我在远程服务器上工作,我可以看到图像名称是正确的,并且没有任何问题。我运行

docker images
重新检查,图像名称是正确的。那么,为什么我会收到错误消息?而且我没有 docker 凭据,只是我正在远程服务器上工作,因此我们在服务器本地创建了 docker 映像,因为之前安装了 docker。

我从这个 - 部署中获取了一些参考,但没有成功

docker kubernetes deployment docker-image
1个回答
0
投票

您应该设置

ImagePullPolicy: Never
以使用本地 Docker 镜像。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: triton_server
spec:
  template:
    spec:
      containers:
        - name: app
          image: triton_server:latest
          imagePullPolicy: Never
...

如果您对图像使用

ImagePullPolicy
标签,
Always
的默认值为
latest
。这意味着,Kubernetes 总是尝试从
triton_server:latest
中提取给定的镜像
docker.io

© www.soinside.com 2019 - 2024. All rights reserved.