Install ArgoCD

ArgoCD เป็น Tool สำหรับทำ GitOps ช่วยติดตั้ง Application Deployment (metadata fie) ที่เป็น yaml file, kustomize หรือ helm package ที่เก็บอยู่ใน Git Repository ไปยัง Kubernetes ปลายทางได้ทั้งแบบ auto deploy และ manual deploy

Script สำหรับ install ArgoCD

Shell
#!/bin/bash
# 1. Create the namespace
kubectl create namespace argocd
# 2. Apply the official Argo CD manifests
echo "Installing Argo CD..."
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# 3. Change the server service type to LoadBalancer (optional, but helpful for UI access)
echo "Patching service to LoadBalancer..."
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
# 4. Wait for the rollout to complete
echo "Waiting for Argo CD components to be ready..."
kubectl wait --for=condition=available --timeout=600s deployment/argocd-server -n argocd
# 5. Retrieve the initial admin password
PASS=$(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d)
echo "------------------------------------------------------"
echo "Argo CD Installation Complete!"
echo "Admin Username: admin"
echo "Admin Password: $PASS"
echo "------------------------------------------------------"
echo "Note: If you are on a local cluster without a LoadBalancer,"
echo "run: kubectl port-forward svc/argocd-server -n argocd 8080:443"

หลังจาก login เข้าหน้าหลักแล้วต้องสร้าง gitrepository สำหรับเชื่อต่อ project และ gitrepository ก่อน

เชื่อต่อ kubernetes cluster ที่ต้องการ deploy application

ทำการสร้าง application เพื่อให้ ArgoCD ทำการ deploy application ให้อัตโนมัติ

ArgoCD จะ sync ข้อมูลจาก gitrepository แล้ว deploy application ใน kubernetes ตามที่ config ไว้