GitOps cho DevOps
Trong kỷ nguyên cloud native, GitOps đang trở thành chuẩn mực mới cho việc triển khai và vận hành hệ thống. Khóa học GitOps cho DevOps mang đến cho học viên cái nhìn toàn diện về cách biến Git thành “nguồn sự thật duy nhất”, kết hợp với Kubernetes và Argo CD để xây dựng quy trình phát hành phần mềm tự động, minh bạch và dễ kiểm soát. Đây là bước tiến quan trọng giúp đội ngũ DevOps nâng cao hiệu quả, giảm rủi ro và tăng tốc độ triển khai trong môi trường doanh nghiệp hiện đại.
Tổng quan
1. Yêu cầu đầu vào:
- Có kiến thức Linux cơ bản
- Sử dụng được Git ở mức cơ bản
- Hiểu nền tảng Docker và Kubernetes
- Có tư duy cơ bản về CI/CD, triển khai phần mềm và vận hành hệ thống
2. Mục tiêu khóa học
Sau khi hoàn thành khóa học, học viên có khả năng thiết kế, triển khai và vận hành quy trình GitOps trong môi trường DevOps hiện đại. Khóa học giúp học viên hiểu rõ vai trò của Git như nguồn sự thật duy nhất, biết cách tổ chức mã nguồn hạ tầng và ứng dụng, đồng thời áp dụng Argo CD để tự động hóa triển khai trên Kubernetes.
Cụ thể, học viên có thể:
- Hiểu bản chất GitOps và sự khác biệt so với mô hình CI/CD truyền thống
- Thiết kế quy trình triển khai phần mềm dựa trên Git, Kubernetes và cơ chế reconciliation
- Xây dựng repository GitOps cho nhiều môi trường như dev, staging và production
- Triển khai, đồng bộ, rollback và phát hiện sai lệch trạng thái hệ thống bằng Argo CD
- Kết hợp CI pipeline với GitOps CD để tạo quy trình phát hành phần mềm tự động
- Quản lý cấu hình, secret và quyền truy cập theo hướng an toàn, có kiểm soát
- Áp dụng GitOps trên các nền tảng cloud native như EKS, AKS và OpenShift
- Thiết kế workflow GitOps phù hợp cho môi trường doanh nghiệp, multi-cluster và production-grade
3. Nội dung khóa học
Module 01 – Tổng quan GitOps và Cloud Native Delivery
Lý thuyết
- GitOps là gì và vì sao GitOps trở thành xu hướng trong DevOps hiện đại
- So sánh Traditional CI/CD và GitOps
- Mô hình pull-based deployment
- Khái niệm desired state và reconciliation
- Mối quan hệ giữa Infrastructure as Code và GitOps
- GitOps trong hệ sinh thái cloud native
Thực hành
- Làm quen với mô hình GitOps cơ bản
- Quan sát sự khác biệt giữa triển khai thủ công và triển khai qua Git
- Chuẩn bị môi trường thực hành Kubernetes và Git repository
Module 02 – Kubernetes Foundation cho GitOps
Lý thuyết
- Pod, Deployment và ReplicaSet
- Service và Ingress
- ConfigMap và Secret
- Namespace trong tổ chức môi trường
- RBAC và phân quyền truy cập
- Các tài nguyên Kubernetes thường dùng trong GitOps
Thực hành
- Triển khai ứng dụng mẫu trên Kubernetes
- Tổ chức tài nguyên theo namespace
- Kiểm tra trạng thái workload, service và ingress
- Làm việc với ConfigMap, Secret và RBAC cơ bản
Module 03 – Helm và Kustomize
Lý thuyết
- Kiến trúc Helm
- Cấu trúc Helm Chart
- Vai trò của values.yaml
- Cơ chế render manifest bằng Helm template
- Kustomize và mô hình base/overlay
- So sánh Helm và Kustomize trong GitOps
Thực hành
- Cài đặt ứng dụng bằng Helm Chart
- Tùy biến cấu hình qua values.yaml
- Xây dựng Kustomize base và overlay
- Quản lý cấu hình riêng cho dev, staging và production
Module 04 – Thiết kế GitOps Workflow
Lý thuyết
- Git branching strategy cho GitOps
- Thiết kế GitOps repository
- Monorepo và multirepo
- App of Apps pattern
- Promotion workflow giữa các môi trường
- Drift detection và kiểm soát thay đổi ngoài Git
Thực hành
- Thiết kế repository GitOps mẫu
- Tách cấu hình theo ứng dụng và môi trường
- Mô phỏng quy trình promotion từ dev sang staging
- Phát hiện và xử lý drift trên Kubernetes
Module 05 – Argo CD Core
Lý thuyết
- Kiến trúc Argo CD
- Application, repository và cluster trong Argo CD
- Sync mechanism
- Declarative deployment
- Health check và trạng thái ứng dụng
- Self-healing và automated sync
Thực hành
- Cài đặt Argo CD
- Kết nối Git repository với Argo CD
- Triển khai ứng dụng đầu tiên bằng Argo CD
- Thực hành sync, rollback và self-healing
Module 06 – GitOps nâng cao với Argo CD
Lý thuyết
- App of Apps pattern trong hệ thống lớn
- Multi-cluster GitOps
- Argo CD Projects
- RBAC trong Argo CD
- Sync waves và sync hooks
- Progressive delivery trong GitOps
Thực hành
- Xây dựng App of Apps
- Quản lý nhiều ứng dụng bằng một GitOps repository
- Cấu hình Argo CD Project và phân quyền
- Triển khai ứng dụng theo thứ tự bằng sync waves
Module 07 – Tích hợp CI/CD với GitOps
Lý thuyết
- Phân biệt vai trò CI và GitOps CD
- Build pipeline và container image
- Container registry trong quy trình phát hành
- Image automation
- GitOps promotion pipeline
- Quy trình phát hành phần mềm theo hướng kiểm soát bằng Git
Thực hành
- Xây dựng CI pipeline tạo container image
- Push image lên container registry
- Cập nhật manifest hoặc Helm values thông qua pipeline
- Kích hoạt deployment tự động bằng Argo CD
Module 08 – Secret Management và Security
Lý thuyết
- Secret trong Kubernetes
- Rủi ro khi lưu secret trực tiếp trong Git
- Sealed Secrets
- External Secrets
- Tích hợp Vault
- Policy as Code
- Best practices bảo mật trong GitOps
Thực hành
- Mã hóa secret bằng Sealed Secrets
- Tích hợp External Secrets với nguồn secret bên ngoài
- Phân quyền truy cập secret theo namespace
- Kiểm tra chính sách bảo mật trong GitOps workflow
Module 09 – GitOps trên Cloud
Lý thuyết
- GitOps trên Amazon EKS
- GitOps trên Azure AKS
- GitOps trên OpenShift
- Ingress Controller trong môi trường cloud
- External DNS
- TLS automation
- Observability cho hệ thống GitOps
Thực hành
- Triển khai GitOps trên Kubernetes cloud-managed cluster
- Cấu hình ingress, domain và TLS
- Theo dõi trạng thái ứng dụng qua monitoring stack
- Kiểm tra log, metrics và trạng thái đồng bộ
Module 10 – Dự án cuối khóa
Học viên xây dựng một hệ thống GitOps hoàn chỉnh theo mô hình thực tế, bao gồm:
- Kubernetes cluster
- GitOps repository
- Argo CD deployment
- CI pipeline
- Multi-environment deployment
- Secret management
- Monitoring stack
- Quy trình rollback và drift detection
Sản phẩm đầu ra
- Repository GitOps có cấu trúc rõ ràng
- Ứng dụng được triển khai tự động lên Kubernetes
- Argo CD quản lý trạng thái triển khai
- Quy trình phát hành có thể áp dụng cho môi trường doanh nghiệp
4. Kết quả sau khóa học
Sau khóa học, học viên có đủ năng lực xây dựng và vận hành GitOps ở mức thực hành chuyên nghiệp. Học viên không chỉ biết sử dụng Argo CD, mà còn hiểu cách thiết kế repository, quản lý môi trường, kiểm soát thay đổi, bảo vệ secret và tích hợp GitOps vào quy trình DevOps/SRE thực tế.
Học viên có thể áp dụng kiến thức khóa học để:
- Thiết kế CI/CD hiện đại theo mô hình GitOps
- Quản lý Kubernetes deployment ở quy mô nhiều môi trường
- Triển khai Argo CD trong môi trường production
- Tổ chức workflow phát hành phần mềm minh bạch, có kiểm soát và dễ rollback
- Vận hành hệ thống cloud native theo hướng tự động hóa, ổn định và bảo mật hơn





