✏️ Bài tập Ngày 2: Deploy Ứng dụng Đầu Tiên¶
🎯 Mục tiêu¶
- Tạo một Git repo chứa Kubernetes manifests
- Deploy ứng dụng qua ArgoCD
- Thay đổi code trên Git và xem ArgoCD tự động detect
Bài tập 1: Tạo repo và deploy¶
- Tạo repo mới trên GitHub:
argocd-demo-app - Copy các file từ
manifests/vào repo - Push lên GitHub
- Tạo ArgoCD Application (UI hoặc CLI)
- Sync application
Kiểm tra:
# App phải ở trạng thái Synced + Healthy
argocd app get nginx-demo
# Pods phải Running
kubectl get pods -n demo-app
# Truy cập Nginx
kubectl port-forward svc/nginx-demo -n demo-app 9090:80 &
curl http://localhost:9090
Bài tập 2: Thay đổi và quan sát Auto-detect¶
- Sửa
deployment.yamltrên Git: thayreplicas: 2thànhreplicas: 3 - Commit & Push
- Quan sát ArgoCD UI:
- Status sẽ chuyển sang OutOfSync (chờ tối đa 3 phút do polling)
- Click SYNC để đồng bộ
- Kiểm tra:
Bài tập 3: Thử kết nối Private Repo (Nâng cao)¶
- Tạo một Personal Access Token trên GitHub:
- Settings → Developer Settings → Personal Access Tokens → Fine-grained tokens
- Scope: Read access to repository
- Thêm private repo vào ArgoCD:
- Kiểm tra:
✅ Checklist hoàn thành¶
- [ ] Tạo được Git repo chứa manifests
- [ ] Deploy ứng dụng Nginx qua ArgoCD thành công
- [ ] Application ở trạng thái Synced + Healthy
- [ ] Thay đổi replicas trên Git, ArgoCD detect OutOfSync
- [ ] Sync lại thành công, pods tăng lên đúng số lượng