Argo CD pod 无法拉取镜像

Argo CD pod can't pull the image

我正在 运行 建立一个混合 AKS 集群,其中有一个 Linux 和一个 Windows 节点。 Windows 节点将 运行 遗留服务器应用程序。我想使用 Argo CD 来简化部署。

在安装 instructions (installation manifest) 并在集群中安装 Argo 之后,我发现我无法连接到它的仪表板。

排查问题发现Argo pod无法拉取镜像。低于 kubectl describe pod argocd-server-75b6967787-xfccz -n argocd

的输出

此处可见的另一件事是 Argo pod 已分配给 windows 节点。根据我在这里的发现,Argo 无法在 windows 节点上 运行。我认为这是问题的根本原因。

有谁知道如何在 Linux 节点上强制 Argo pods 到 运行?

foundnodeSelector 这样的东西可能会有用。

  nodeSelector:
    kubernetes.io/os: linux

但是我如何在已经部署的 Argo 上应用 nodeSelector

有谁知道如何在 Linux 节点上强制 Argo pods 到 运行?

检查其他节点标签并更改节点选择器

nodeSelector:
        kubernetes.io/os: linux

可以直接编辑argo CD的当前部署

kubectl edit deployment argocd-server -n <namespace name>

您可以直接使用 cli 编辑标签并更新它

我在 argocd-serverargocd-repo-serverargocd-application-controller 工作负载的 pod 模板中添加了 nodeSelector(前两个是 Deployment,后者是 StatefulSet).

之后我重新部署了清单。图像被拉取,我能够访问 Argo 仪表板。