0
Phần 7 - DevOps & GitOps
Khi mới học Kubernetes, bạn thường triển khai ứng dụng bằng các file YAML và chạy:
kubectl apply -f .
Nhưng khi số lượng YAML ngày càng nhiều, việc quản lý và triển khai trở nên phức tạp. Đây là lúc các công cụ sau phát huy tác dụng:
- Helm: Đóng gói và tái sử dụng nhiều file YAML bằng template.
- Kustomize: Dùng chung một bộ YAML cho nhiều môi trường (Dev, Staging, Production) bằng mô hình Base + Overlay.
- GitOps: Biến Git thành nguồn sự thật duy nhất, mọi thay đổi đều được quản lý qua Git.
- ArgoCD: Theo dõi Git và tự động đồng bộ thay đổi xuống Kubernetes.
- CI/CD: Tự động hóa toàn bộ quy trình từ build, test đến triển khai.
Toàn bộ quy trình có thể hình dung như sau:
Developer
│
▼
Push Code lên Git
│
▼
CI/CD (Build → Test → Build Image)
│
▼
Cập nhật GitOps Repository
│
▼
ArgoCD đồng bộ Kubernetes
│
▼
Application Running
Tóm lại, Helm và Kustomize giúp quản lý cấu hình, GitOps và ArgoCD giúp triển khai tự động, còn CI/CD tự động hóa toàn bộ pipeline, tạo nên một quy trình triển khai Kubernetes hiện đại, nhất quán và dễ kiểm soát.
BÌNH LUẬN