Ingress chỉ là bản mô tả luật routing, nó không tự xử lý request. Muốn nó có tác dụng phải có Ingress controller đang chạy trong cluster (ingress-nginx, Traefik, HAProxy, hoặc controller của cloud provider).
Checklist khi Ingress "không làm gì":
1. Có controller chưa — kubectl get pods -A | grep ingress. Cluster trống thì tạo Ingress bao nhiêu cũng vô nghĩa.
2. ingressClassName có khớp không — Ingress không chỉ đúng class thì controller bỏ qua nó.
3. ADDRESS đã được gán chưa — kubectl get ingress; cột ADDRESS rỗng nghĩa là chưa controller nào nhận.
4. DNS đã trỏ về IP của controller Service chưa (thường là một Service LoadBalancer).
5. Backend Service có Endpoints không — kubectl get endpoints <svc>; rỗng thì Ingress trả 503.
Tóm lại: Ingress = luật, controller = thứ thực thi luật. Thiếu vế thứ hai thì không có gì chạy.