NodePort exposure for demos.
- Create the argocd namespace and install Argo CD
- The Argo CD Getting Started docs show installing the latest release, but you can install a specific version by referencing the Git tag in the manifest URL.
| Install type | Command |
|---|---|
| Non-HA (single-instance) | bash kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.5/manifests/install.yaml |
| HA (high-availability) | bash kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.5/manifests/ha/install.yaml |
- Verify cluster connectivity and namespaces
- Confirm your kubeconfig is working and list nodes and namespaces:
- Review the install output
- Applying the manifest creates many Kubernetes resources (ConfigMaps, Secrets, Services, Deployments, StatefulSets, NetworkPolicies, RBAC objects, CRDs, etc.). Typical console output after applying the install manifest:
- For a quick reference, common resource types created are:
| Resource Type | Purpose |
|---|---|
| ConfigMap / Secret | Configuration and credentials (e.g., initial admin secret) |
| Service | Network access (argocd-server, repo-server, etc.) |
| Deployment / StatefulSet | Application controller, repo server, server |
| NetworkPolicy | Restrict network traffic to Argo CD components |
| RBAC | Roles and rolebindings for Argo CD controllers |
- Check Argo CD pods and services
- Give Kubernetes a minute, then list pod, service, and deployment resources in the
argocdnamespace:
- Expose the argocd-server Service via NodePort (for browser access)
- For a quick demo from your workstation, change the
argocd-serverService type fromClusterIPtoNodePort:
- After saving the edit you should see:
- Verify the service now shows a NodePort mapping:
Exposing
argocd-server via NodePort is convenient for demos but not recommended for production. For production use, prefer an Ingress with TLS termination or a cloud load balancer and secure RBAC. Ensure firewall rules restrict access as needed.- Access the Argo CD UI in your browser
-
Open the server using the NodePort on the node IP (or
localhostif running a local cluster that maps ports): -
Example URLs:
http://localhost:<NODEPORT>(HTTP)https://localhost:<NODEPORT>(HTTPS — default uses a self-signed certificate)
- Expect a browser security warning when using the self-signed certificate — proceed after accepting the warning for demo/testing.

- Retrieve the initial admin password
- The initial admin password is stored in the
argocd-initial-admin-secretsecret. To list available secrets and decode the admin password:
- Login credentials:
- Username:
admin - Password: (decoded value from the command above)
- Username:
After the first login, change the
admin password or create RBAC-backed users/service accounts. Leaving default credentials in place is a security risk.- Update the admin password via the UI
- After logging in with the initial password, open User Info (top-right), update your password to a secure value, and re-authenticate. The UI typically logs you out after a password change — sign back in with the new password.

- What’s next
- With Argo CD running and accessible, you can:
- Create Argo CD Applications that point to Git repositories to manage cluster state.
- Configure repositories, RBAC, and SSO (OIDC) for production-ready setups.
- Integrate Argo CD with CI pipelines and cluster observability tools.
- Argo CD Getting Started: https://argo-cd.readthedocs.io/en/stable/getting_started/
- Argo CD GitHub manifests: https://github.com/argoproj/argo-cd/tree/v3.0.5/manifests