Custom Resource Definition (CRD) mở rộng Kubernetes API bằng một loại resource mới của riêng bạn, ví dụ kind: PostgresCluster. Sau khi apply CRD, bạn có thể kubectl get postgresclusters và lưu object đó trong etcd y như resource built-in. Bản thân CRD chỉ thêm dữ liệu, chưa có hành vi.
Operator là hành vi đi kèm: một controller chạy control loop, watch các custom resource và điều hoà (reconcile) state thực tế về đúng state được khai báo. Nó gói kiến thức vận hành (operational knowledge) của một người vận hành — cách cài đặt, backup, failover, nâng cấp một hệ thống stateful — thành code.
Vòng lặp cốt lõi:
quan sát state hiện tại -> so với spec mong muốn -> hành động để thu hẹp khác biệt -> lặp lạiVí dụ: một Postgres Operator thấy CR yêu cầu 3 replica sẽ tự tạo StatefulSet, cấu hình replication, và nếu primary chết thì tự promote replica.
Công thức thường nhắc: Operator = CRD (API mới) + custom controller (reconcile loop). Đây là cách chuẩn để tự động hoá app stateful phức tạp trên Kubernetes thay vì thao tác thủ công.