我正在运行一个混合 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 节点上运行。我认为这是问题的根本原因。
有谁知道如何强制 Argo Pod 在 Linux 节点上运行?
我found认为 nodeSelector
之类的东西可能有用。
nodeSelector:
kubernetes.io/os: linux
但是我如何在已经部署的 Argo 上应用 nodeSelector
?
答案 0 :(得分:1)
有谁知道如何强制 Argo Pod 在 Linux 节点上运行?
检查其他节点标签并更改节点选择器
nodeSelector:
kubernetes.io/os: linux
可以直接编辑当前部署的argo CD
kubectl edit deployment argocd-server -n <namespace name>
你可以直接使用cli编辑标签并更新它
答案 1 :(得分:0)
我在 nodeSelector
、argocd-server
和 argocd-repo-server
工作负载的 pod 模板中添加了 argocd-application-controller
(前两个是 Deployment
,后者是 {{1 }}).
在那之后,我重新部署了清单。图像被拉取,我能够访问 Argo 仪表板。