GitOps là gì
Quản lý hạ tầng thông qua kho Git
GitOps là phương pháp luận để quản lý hạ tầng và ứng dụng trong đó kho Git là nguồn sự thật duy nhất cho toàn bộ hệ thống.
Nguyên tắc GitOps
- Khai báo — toàn bộ hạ tầng được mô tả bằng mã
- Phiên bản hóa — tất cả thay đổi được theo dõi trong Git
- Tự động hóa — thay đổi được áp dụng tự động
- Tự phục hồi — hệ thống tự động trở về trạng thái mục tiêu
Lợi ích
- Lịch sử đầy đủ của tất cả thay đổi
- Dễ dàng khôi phục về phiên bản trước
- Kiểm toán và tuân thủ tích hợp sẵn
- Đơn giản hóa việc đào tạo nhân viên mới
- Bảo mật nâng cao (không có quyền truy cập trực tiếp vào production)
Công cụ
- Argo CD — GitOps controller phổ biến cho Kubernetes
- Flux — GitOps operator từ Weaveworks
- Jenkins X — CI/CD với GitOps cho Kubernetes
- Terraform — Infrastructure as Code
Quy trình làm việc
- Nhà phát triển tạo Pull Request
- Code Review và kiểm tra tự động
- Merge vào nhánh chính
- GitOps operator đồng bộ cluster
- Giám sát xác nhận triển khai thành công