Rafał Sroka
Rafał Sroka

Reputation: 40028

Argo CD pod can't pull the image

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

enter image description here

enter image description here

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

Answers (2)

Rafał Sroka
Rafał Sroka

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

Harsh Manvar
Harsh Manvar

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

Related Questions