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

ApplicationSet và Multi-Cluster

Đăng ký một cluster không đồng nghĩa cấp quyền deploy tới nó.

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

Nắm bản chất

ApplicationSet dùng List/Git/Cluster generators để sinh Applications. Cluster Generator có thể chọn theo cluster secret labels; cần opt-in selector để tránh tự triển khai lên cluster mới đăng ký. AppProject giới hạn destination clusters/namespaces và sources.

Multi-namespace trong một Kind cluster không tương đương multi-cluster HA. Khi Argo CD chạy trong Pod, localhost của Pod không phải localhost của host; remote Kubernetes API endpoint phải reachable và TLS/auth hợp lệ.

Luồng hoạt động

ApplicationSet generator→Applications→clusters

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

generators:
- clusters:
    selector:
      matchLabels:
        delivery.lab18/opt-in: 'true'
kubectl -n argocd get applicationsets
kubectl -n argocd get applications -o wide

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 ApplicationSet nonprod Buổi 18 tạo Dev và Staging Applications. Kiểm tra một cluster mới không có opt-in label sẽ không được chọn.

Lỗi dễ mắc

!

Cluster Generator không selector có thể chọn mọi registered clusters; production phải có guardrail rõ ràng.

Tự kiểm tra

ApplicationSet Cluster Generator có tạo Kubernetes cluster mới không?Xem đáp án ↗

Không. Nó sinh Argo CD Applications cho clusters đã được đăng ký/khả dụng.

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 ↗