CHƯƠNG 18 · Enterprise CI/CD & Multi-Cluster•BÀI 70 / 80

Approval Gates và GitOps ownership

Bảo đảm không phải ai cũng có thể đưa image lên Production.

Vận hành◷ 4 phút đọc2/4 trong chương

Nắm bản chất

GitHub Environment approvals kiểm soát workflow job; PR branch protections/rulesets kiểm soát thay đổi Git. Hai thứ khác nhau và cần cấu hình rõ trên repo. Argo CD triển khai từ commit được chấp thuận; Application có thể manual sync Production.

GitOps không tự bảo đảm mọi cluster đã converge: kiểm tra từng Application sync revision và actual Pod image IDs. Quản lý một resource bằng một controller authoritative; các emergency patches phải được phản ánh lại trong Git.

Luồng hoạt động

Promotion PR→approval→Argo CD sync

Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?

Lệnh & cấu hình mẫu

kubectl -n argocd get applications
kubectl -n argocd describe application lab18-prod
kubectl -n prod get pods -o jsonpath='{..imageID}'
argocd app diff lab18-prod

Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.

Bài tập 10–20 phút

✳

Dùng lab Buổi 18 tạo PR sửa image digest, giải thích các dấu phê duyệt cần lưu và ai được quyền merge/sync.

Lỗi dễ mắc

!

Gắn environment: prod trong workflow không tự tạo reviewers. Quy tắc required reviewers phải cấu hình riêng, tùy điều kiện plan/repository.

Tự kiểm tra

GitOps rollback bền vững nên sửa ở đâu?Xem đáp án ↗

Ở desired state trong Git và reconcile qua Argo CD, không chỉ kubectl set image tạm thời.

TÀI NGUYÊN ĐI KÈM

Học thêm qua lab

Có project thực hành đúng với chương này, kèm README và những giới hạn môi trường cần lưu ý.

↓ Tải mã nguồn thực hành chương 18
NGUỒN CHÍNH THỨC

Đối chiếu tài liệu gốc

Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.

Mở tài liệu chính thức ↗