0

我在以某种规模运行 argo 工作流程时遇到问题。一些 pod 无限期地进入 pod 初始化状态,当我查看事件时,这是因为由于速率限制从同一 IP/匿名用户拉取 docker 映像而无法获取 argo-exec 映像。我不知道如何解决这个问题。

我该如何解决这个问题?

  1. 是否可以/建议将 argo docker 映像保留在我自己的存储库中(可能更新控制器配置映射以指向它)或
  2. 有没有办法在拉取图像时管理经过身份验证的 docker 访问。后者似乎不是一个解决方案,因为它可能只是意味着我有更多的配额,但它仍然是有限的。
  3. 似乎无论如何都没有必要继续拉这个图像,所以也许配置中有一些东西我可以控制它?如果是这样,最后一个选项似乎很理想。
4

1 回答 1

0

回答你的答案 - 从最后一个开始。


问题 3:

似乎无论如何都没有必要继续拉这个图像,所以也许配置中有一些东西我可以控制它?

回答:

您从中提取的 docker 注册表可能有速率限制。

我建议您像在 Docker/K8s 中那样做 - 使用该imagePullPolicy字段。

查看容器规范下的 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

问题一:

是否可以/建议将 argo docker 映像保存在我自己的存储库中(也许更新控制器配置映射以指向它)

回答:

为了解决速率限制问题,不是强制性的。


问题2:

有没有办法在拉取图像时管理经过身份验证的 docker 访问..

回答:

在我分享的同一个链接中 - 查看该imagePullSecrets选项。

如果您不熟悉 K8S 中的这个概念 - 我建议您阅读Pull an Image from a Private Registry

于 2021-09-28T11:49:28.180 回答