How to fix ArgoCD missing in Kubernetes
ArgoCD components are missing when the installation is incomplete or CRDs are not properly installed. This occurs when namespace-scoped deployments lack CustomResourceDefinitions (CRDs) or core components (API server, controller, repo server) fail to start. Fix by installing ArgoCD with all required manifests and verifying all pods are running.
Quick fix
Fixes ArgoCD missing
kubectl create namespace argocd- Create the argocd namespace
- Install ArgoCD manifests
- Install Custom Resource Definitions (CRDs)
- Verify all pods are running
kubectl create namespace argocdArgoCD missing
What this error means
The ArgoCD missing error indicates that one or more critical ArgoCD components are not installed or not running in your Kubernetes cluster. ArgoCD requires several core components: the API server (for Web UI and CLI access), application controller (for managing deployments), repo server (for Git interactions), and Custom Resource Definitions (CRDs) for Application and ApplicationSet resources. When these components are missing, ArgoCD cannot function properly.
Typical symptoms
- ArgoCD namespace exists but pods are not running or missing
- kubectl get pods -n argocd shows fewer pods than expected
- ArgoCD UI/server is not accessible at expected port
- Application resources fail with "ApplicationSet not found" or similar errors
- argocd CLI commands fail with connection refused errors
- Events show ImagePullBackOff or CrashLoopBackOff for ArgoCD pods
- Helm chart install completes but CRDs are not created
Common causes
- Installation manifest was not fully applied (using namespace-install.yaml without CRDs)
- ArgoCD namespace was not created before installing
- CRD manifests from manifests/crds directory were not installed separately
- Required images are not available or not pulled successfully
- Redis dependency failed to install or start (required for caching)
- Insufficient cluster resources (CPU, memory) to schedule ArgoCD pods
- Network policies in argocd namespace are blocking inter-pod communication
- Using Helm but values.yaml does not include all required components
How to fix "ArgoCD missing"
First, ensure the namespace exists:
kubectl create namespace argocdIf namespace already exists, this command will return an error (which is safe to ignore).
Apply the complete ArgoCD installation manifest:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yamlFor namespace-scoped installation (no cluster-wide access):
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/namespace-install.yamlNote: namespace-install.yaml requires manual CRD installation (see next step).
If using namespace-install.yaml, CRDs must be installed separately:
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/crds/application-crd.yaml
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/crds/applicationset-crd.yaml
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/crds/appproject-crd.yamlVerify CRDs are installed:
kubectl get crd | grep argoprojCheck that all ArgoCD components are deployed and healthy:
kubectl get pods -n argocdExpected pods (multi-tenant install):
- argocd-application-controller
- argocd-applicationset-controller
- argocd-dex-server
- argocd-notifications-controller
- argocd-repo-server
- argocd-redis
- argocd-server
All pods should show status Running with 1/1 ready. If any show CrashLoopBackOff or Pending, investigate with:
kubectl describe pod <pod-name> -n argocd
kubectl logs <pod-name> -n argocdArgoCD requires Redis for caching (even though controller can run without it, it's not recommended):
kubectl get pod -n argocd -l app.kubernetes.io/name=argocd-redisIf redis pod is missing, apply the complete install.yaml which includes Redis deployment. If using Helm:
helm repo add argo https://argoproj.github.io/argo-helm
helm install argocd argo/argo-cd -n argocd --set redis.enabled=trueIf pods are running but cannot communicate, check for blocking network policies:
kubectl get networkpolicy -n argocdIf restrictive policies exist, delete them temporarily to test:
kubectl delete networkpolicy -n argocd <policy-name>Then verify connectivity. Create new policies that allow pod-to-pod communication within the argocd namespace.
Once all pods are running, forward the ArgoCD server port:
kubectl port-forward svc/argocd-server -n argocd 8080:443Access the UI at https://localhost:8080. Get the initial admin password:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echoLogin with username: admin
For a cleaner, managed installation, use the official Helm chart:
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
helm install argocd argo/argo-cd -n argocd --create-namespaceThis ensures all required components and dependencies (including Redis, CRDs, RBAC) are installed together. Verify installation:
helm status argocd -n argocdAdvanced notes
ArgoCD Core is a headless variant without API server or UIβonly use if you need controller functionality without the web interface. When using namespace-scoped install, Application CRDs must be in the same namespace as ArgoCD itself. For HA deployments, consider using argo/argo-cd Helm chart with replicas and persistence enabled. If pods are evicted due to resource pressure, increase node resources or set resource limits in values.yaml. Some cloud providers (EKS, AKS, GKE) may have pre-requirements (CNI plugins, IAM roles) that must be configured before ArgoCD can fully function.
Frequently asked questions
- What does "ArgoCD missing" mean?
- The ArgoCD missing error indicates that one or more critical ArgoCD components are not installed or not running in your Kubernetes cluster. ArgoCD requires several core components: the API server (for Web UI and CLI access), application controller (for managing deployments), repo server (for Git interactions), and Custom Resource Definitions (CRDs) for Application and ApplicationSet resources. When these components are missing, ArgoCD cannot function properly.
- How do I fix "ArgoCD missing"?
- ArgoCD components are missing when the installation is incomplete or CRDs are not properly installed. This occurs when namespace-scoped deployments lack CustomResourceDefinitions (CRDs) or core components (API server, controller, repo server) fail to start. Fix by installing ArgoCD with all required manifests and verifying all pods are running.
- What causes "ArgoCD missing"?
- Installation manifest was not fully applied (using namespace-install.yaml without CRDs) ArgoCD namespace was not created before installing CRD manifests from manifests/crds directory were not installed separately
- Is the "ArgoCD missing" error serious?
- Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.
Official resources & further reading
- πKubernetes Official Documentation
- π
- π
- π
- π
- π