Argocd adding cluster

Hi,

I am using kodekloud multi cluster playground for the lab where i am trying to make one cluster as argocd and add the other two clusters inside the argocd to install applications on them.

I am installing argocd in cluster1 and adding cluster2 into cluster1 argocd but while doing that i am getting issue. It seems that the cluster2 context is not able to find. How can this be resolved?

student-node ~ ➜ argocd cluster add cluster2
WARNING: This will create a service account argocd-manager on the cluster referenced by context cluster2 with full cluster level privileges. Do you want to continue [y/N]? y
{“level”:“info”,“msg”:“ServiceAccount "argocd-manager" already exists in namespace "kube-system"”,“time”:“2025-11-19T06:15:58Z”}
{“level”:“info”,“msg”:“ClusterRole "argocd-manager-role" updated”,“time”:“2025-11-19T06:15:58Z”}
{“level”:“info”,“msg”:“ClusterRoleBinding "argocd-manager-role-binding" updated”,“time”:“2025-11-19T06:15:58Z”}
{“level”:“info”,“msg”:“Using existing bearer token secret "argocd-manager-long-lived-token" for ServiceAccount "argocd-manager"”,“time”:“2025-11-19T06:15:58Z”}
{“level”:“fatal”,“msg”:“rpc error: code = Unknown desc = error getting server version: failed to get server version: Get "https://cluster2-controlplane:6443/version?timeout=32s\”: dial tcp: lookup cluster2-controlplane on 10.43.0.10:53: no such host",“time”:“2025-11-19T06:15:58Z”}

Also one more doubt, is there a way to access the argocd installed in the playground through GUI or browser? I would like to know.

Thanks,
Vijesh

I can give you the answer to your second question.

Normally on a single node playground, you can access NodePort services via the View Port option:

However, on a multi-node playground like this one, it is a bit more involved. View Port can only attach to the student-node, and not to the other nodes where Kube is running.

What we have to do is this. Let’s say your Argo is running on cluster1.

  1. Ensure that the Argo UI service is NodePort. The default from the helm chart may be LoadBalancer. If the service is LoadBalancer, then edit it to NodePort and note the port number you set for nodePort:
  2. Open another terminal tab on student-node, and install socat
    apt update
    apt install -y socat
    
  3. Set up a TCP forward to the nodeport service. In this case my nodeport was 30650
    socat TCP-LISTEN:30650,fork TCP:cluster1-controlplane:30650
    
    Leave that running there and switch back to Terminal 1 to continue working.
  4. Select view port as above and enter 30650 for the port.

Simple example to test it works

kubectl run nginx --image nginx
kubectl expose pod nginx --type NodePort --port 80 --target-port 80
kubectl get svc nginx   # to get the node port number

Then set up socat as above, view port and you will see the nginx welcome page.