Just the exact steps you need.
✅ Step-1: Get ArgoCD server pod IP(s)
kubectl get pods -n argocd -o wide | grep argocd-server
Example output:
argocd-server-7c8c78d45f-q9mtt 10.0.52.184
Write down the pod IP(s).
✅ Step-2: Create Target Group (IP mode)
AWS Console → EC2 → Target Groups → Create target group
Fill exactly:
| Setting | Value |
|---|---|
| Target type | IP |
| Protocol | HTTPS |
| Port | 443 |
| VPC | (your EKS VPC) |
| Health check protocol | HTTPS |
| Health check path | / |
| Name | argocd-pods-tg |
Click Create.
✅ Step-3: Register the ArgoCD Pod IP(s)
In that target group → Targets → Register
Add:
- Target type: IP
- IP:
<pod-ip> - Port:
443
Example:
10.0.52.184 : 443
Click Register → Save.
✅ Step-4: Create ALB and attach Target Group
AWS Console → EC2 → Load Balancers → Create Application Load Balancer
Basic settings:
- Scheme: Internet-facing
- IP type: IPv4
- Choose public subnets
- Security Group: allow 443
Listener (443):
- Protocol: HTTPS
- Certificate: your ACM certificate
- Default action → Forward → argocd-pods-tg
Create ALB.
🎉 Done — Access ArgoCD
Open:
https://<your-alb-dns-name>
You should get the ArgoCD login page.
⚠️ Reminder (since you said you’re okay with it)
ClusterIP + IP-mode TG means:
- If ArgoCD pod restarts → TG breaks
- You must re-add the new IP manually