Service theo network scope
- ClusterIP: virtual IP nội bộ, route tới EndpointSlice.
- NodePort: thêm node port, phụ thuộc node/kube-proxy/firewall; không tự đảm bảo external access.
- ExternalName: DNS CNAME alias, không proxy traffic và không tạo backend EndpointSlice như selector Service.
Expose và debug
kubectl expose là skeleton nhanh; inspect selector, port/targetPort, protocol, namespace và readiness. Nếu endpoint rỗng: label/selector/Pod Ready. Nếu endpoint có nhưng timeout/refused: test in-cluster, port/listener, policy/kube-proxy/firewall/DNS theo lớp.
Bài tập
Expose Deployment ClusterIP, tạo NodePort và ExternalName, test từng path, cố ý sai selector/port/readiness, sửa và tạo variant. Ghi limitation network, cleanup nodePort/DNS và không dùng external endpoint nhạy cảm.