【问题标题】:image pull backoff for argo image in pod initpod init 中 argo 图像的图像拉回退
【发布时间】:2021-05-29 12:39:01
【问题描述】:
我在以一定规模运行 argo 工作流程时遇到问题。一些 pod 无限期地进入 pod 初始化状态,当我查看事件时,这是因为由于速率限制从同一 IP/匿名用户拉取 docker 映像而无法获取 argo-exec 映像。我不知道如何解决这个问题。
我该如何解决这个问题?
- 是否可以/建议将 argo docker 映像保留在我自己的存储库中(可能更新控制器配置映射以指向它)或
- 有没有办法在拉取镜像时管理经过身份验证的 docker 访问。后者似乎不是一个解决方案,因为它可能只是意味着我有更多的配额,但它仍然是有限的。
- 似乎没有必要继续拉这个图像所以也许配置中有一些东西我可以控制它??如果是这样的话,最后一个选项似乎很理想。
【问题讨论】:
标签:
docker
argo-workflows
【解决方案1】:
回答你的答案 - 从最后一个开始。
问题 3:
似乎没有必要继续拉这个
无论如何图像所以也许配置中有一些我可以控制的东西
这个??
答案:
您从中提取的 docker 注册表可能有速率限制。
我建议您像在 Docker/K8s 中那样做 - 使用 imagePullPolicy 字段。
查看container spec 下的 argo 工作流文档。
一个例子:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: daemon-nginx
spec:
entrypoint: daemon-nginx-example
templates:
- name: daemon-nginx-example
steps:
- - name: nginx-server
template: nginx-server
- name: nginx-server
daemon: true
container:
image: nginx:1.13
imagePullPolicy: IfNotPresent # <---- Here
readinessProbe:
httpGet:
path: /
port: "80"
initialDelaySeconds: 2
timeoutSeconds: 1
问题 1:
是否可以/建议将 argo docker 映像保存在我自己的
存储库(可能更新控制器配置映射以指向它)
答案:
为了解决速率限制问题不是强制性的。
问题 2:
有没有办法在拉动时管理经过身份验证的 docker 访问
图片..
答案:
在我分享的同一个链接中 - 查看imagePullSecrets 选项。
如果你不熟悉 K8S 中的这个概念——我建议你阅读Pull an Image from a Private Registry。