0

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

按照安装说明安装清单)并在集群中安装 Argo 后,我注意到我无法连接到它的仪表板。

问题排查发现 Argo pod 无法拉取镜像。下面的输出kubectl describe pod argocd-server-75b6967787-xfccz -n argocd

在此处输入图像描述

在此处输入图像描述

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

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

发现类似的东西nodeSelector可能很有用。

  nodeSelector:
    kubernetes.io/os: linux

但是我怎么能nodeSelector在已经部署的 Argo 上应用呢?

4

2 回答 2

1

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

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

nodeSelector:
        kubernetes.io/os: linux

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

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

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

于 2021-02-08T12:59:09.013 回答
0

nodeSelector在 Pod 模板中添加了argocd-server,argocd-repo-serverargocd-application-controller工作负载(前两个是Deployment,后一个是 a StatefulSet)。

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

于 2021-02-08T16:54:23.057 回答