Reputation: 40028
I'm running a hybrid AKS cluster where I have one Linux and one Windows node. The Windows node will run a legacy server app. I want to use Argo CD to simplify the deployments.
After following the installation instructions (installation manifest) and installing Argo in the cluster I noticed I can't connect to its dashboard.
Troubleshooting the issue I found that the Argo pod can't pull the image. Below output of kubectl describe pod argocd-server-75b6967787-xfccz -n argocd
Another thing that is visible here is that Argo pod got assigned to a windows node. From what I found here, Argo can't run on windows nodes. I think that's the root cause of the problems.
Does anyone know how can I force Argo pods to run on Linux node?
I found that something like nodeSelector
could be useful.
nodeSelector:
kubernetes.io/os: linux
But how could I apply the nodeSelector
on the already deployed Argo?
Upvotes: 0
Views: 4260
Reputation: 40028
I added nodeSelector
to the pod templates of argocd-server
, argocd-repo-server
and argocd-application-controller
workloads (former two are Deployment
, the latter is a StatefulSet
).
After that I redeployed the manifests. The images got pulled and I was able to access the Argo dashboard.
Upvotes: 0
Reputation: 30160
Does anyone know how can I force Argo pods to run on Linux node?
check for the other node label and change the node selector
nodeSelector:
kubernetes.io/os: linux
you can directly edit the current deployment of argo CD
kubectl edit deployment argocd-server -n <namespace name>
you can edit the label directly using cli and update it
Upvotes: 1