尝试使用 helm/docker 查找本地图片时出错

Getting an error when trying to find a local image with helm/docker

我有一个本地 kubernetes 集群 (minikube),它正在尝试从我的本地 Docker 存储库加载图像。

当我执行“docker 张图片”时,我得到:

cluster.local/container-images/app-shiny-app-validation-app-converter            1.6.9
cluster.local/container-images/app-shiny-app-validation                          1.6.9

鉴于我知道上面的图像在那里,我 运行 一些使用这些图像的 helm 命令,但我得到以下错误:

Events:
  Type     Reason     Age                  From               Message
  ----     ------     ----                 ----               -------
  Normal   BackOff    66s (x2 over 2m12s)  kubelet            Back-off pulling image "cluster.local/container-images/app-shiny-app-validation-app-converter:1.6.9"
  Warning  Failed     66s (x2 over 2m12s)  kubelet            Error: ImagePullBackOff
  Normal   Pulling    51s (x3 over 3m24s)  kubelet            Pulling image "cluster.local/container-images/app-shiny-app-validation-app-converter:1.6.9"
  Warning  Failed     11s (x3 over 2m13s)  kubelet            Failed to pull image "cluster.local/container-images/app-shiny-app-validation-app-converter:1.6.9": rpc error: code = Unknown desc = Error response from daemon: Get https://cluster.local/v2/: dial tcp: lookup cluster.local: Temporary failure in name resolution
  Warning  Failed     11s (x3 over 2m13s)  kubelet            Error: ErrImagePull

有人知道我该如何解决这个问题吗?似乎最大的问题是Get https://cluster.local/v2/: dial tcp: lookup cluster.local: Temporary failure in name resolution

  1. cluster.local 添加到您所有 kubernetes 节点中的 /etc/hosts 文件。
192.168.12.34 cluster.local
  1. 检查您是否可以使用 docker login cluster.local
  2. 登录注册表
  3. 如果您的注册表有自签名证书,请将 cluster.local.crt 密钥复制到所有 kubernetes 工作节点 /etc/docker/certs.d/cluster.local/ca.crt

由于使用的是minikube,可以参考他们的文档。 建议如果使用imagePullPolicy,需要设置为Never。如果设置为 Always,它将尝试伸出并从网络中拉出。

来自文档:https://minikube.sigs.k8s.io/docs/handbook/pushing/ “提示 1:请记住在您的 yaml 文件中关闭 imagePullPolicy:Always(使用 imagePullPolicy:IfNotPresent 或 imagePullPolicy:Never)。否则 Kubernetes 将不会使用您的本地构建映像,它会从网络中拉取."