【问题标题】:kubectl not able to pull the image from private repositorykubectl 无法从私有存储库中提取图像
【发布时间】:2017-07-05 03:55:44
【问题描述】:

我正在运行 kubeadm alpha 版本来设置我的 kubernates 集群。 从 kubernates ,我正在尝试提取托管在 nexus 存储库中的 docker 图像。 当我试图创建一个 pod 时,它每次都会给出“ImagePullBackOff”。有人可以帮我吗?

https://github.com/kubernetes/kubernetes/issues/41536 中有详细信息

Pod 定义:

apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  labels:
    name: test
spec:
  containers:
    - image: 123.456.789.0:9595/test
      name: test
      ports:
        - containerPort: 8443
  imagePullSecrets:
    - name: my-secret

【问题讨论】:

  • 能否请您也发布您的 Pod 定义?
  • Pod 定义已添加

标签: docker kubernetes nexus kubectl kubeadm


【解决方案1】:

你需要refer to the secret你刚刚从 Pod 定义中创建。

当您使用 kubectl create secret docker-registry my-secret --docker-server=123.456.789.0 ... 创建密钥时,服务器必须与您的 Pod 定义中的内容完全匹配 - 包括端口号(如果它是安全的,那么它还必须与 docker 匹配systemd 中的命令行)。

此外,密钥必须在您创建 Pod 的同一个命名空间中,但这似乎是有序的。

【讨论】:

  • 我已将 imagePullSecrets 添加到 pod 定义中。
  • 端口号匹配吗?
  • 感谢您的回复。我暂时无法访问 PC。我会尽快更新 pod 配置。
  • 现在,添加了 pod 定义。你能帮我找出错误吗?
  • 在链接的 kubernetes 问题中,您将命令引用为 kubectl create secret docker-registry my-secret --docker-server=123.456.789.0 --docker-username=admin --docker-password=XXXX --docker-email=test@xyz.com 。自从说kubectl create secret docker-registry my-secret --docker-server=123.456.789.09:9595 --docker-username=admin --docker-password=XXXX --docker-email=test@xyz.com(注意端口号)之后,您是否已修复它?
【解决方案2】:

我在从亚马逊 ECR 注册表启动容器时收到了类似的错误。问题是我没有在部署文件中提到确切的“图像 URI”位置。

【讨论】:

  • 这很明显!如果图像 URI 错误,您将出现此错误。
猜你喜欢
  • 2023-03-07
  • 2021-12-10
  • 2021-01-05
  • 1970-01-01
  • 1970-01-01
  • 2020-11-02
  • 1970-01-01
  • 2022-06-24
  • 2020-07-05
相关资源
最近更新 更多