CHƯƠNG 10 · Helm, GitOps & Operators•BÀI 39 / 80

Argo CD GitOps và RBAC

Git là desired state; cluster là observed state.

Kubernetes◷ 4 phút đọc3/4 trong chương

Nắm bản chất

Argo CD theo dõi một Git revision/path và so sánh Kubernetes live state với desired state. Application có thể Manual Sync hoặc Auto Sync với selfHeal/prune phù hợp. AppProject giới hạn source repositories, destinations và resource kinds.

GitOps không thay thế RBAC: quyền tạo Application hoặc chỉnh ApplicationSet có thể gián tiếp tạo quyền triển khai rộng. Áp dụng branch protections, code review và giới hạn quyền Argo CD service accounts.

Luồng hoạt động

Git commit→Argo reconcile→cluster

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 app-dev
argocd app diff app-dev
argocd app sync app-dev  # nếu policy cho phép

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 10, sửa một ConfigMap trong Git và kiểm tra Argo báo OutOfSync trước khi sync. Sau đó thử thay trực tiếp resource và quan sát selfHeal nếu đã bật.

Lỗi dễ mắc

!

Đừng để Helm CLI và Argo CD cùng liên tục quản lý một Deployment. Nếu muốn emergency patch, phải có cơ chế reconcile desired state sau đó.

Tự kiểm tra

Vì sao một Application có quyền deploy không nên được trỏ tới Git repo bất kỳ?Xem đáp án ↗

Vì source repo có thể cung cấp manifests để tạo resources trong phạm vi quyền của Argo CD.

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 10
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 ↗