Gateway API, routing và mesh telemetry
Phân biệt mesh HTTPRoute với public edge ingress.
Nắm bản chất
Gateway API dùng GatewayClass, Gateway và HTTPRoute. Trong Ambient, một
HTTPRoute có thể parentRefs tới Service để điều khiển traffic qua
waypoint; một edge HTTPRoute gắn Gateway điều khiển inbound traffic khác.
Istio/Kiali/Prometheus/OTel giúp quan sát mesh, nhưng mTLS thành công không tự sinh một distributed trace đầy đủ. Cần trace context propagation, spans và exporter/backend tương ứng. Weighted routing theo request chỉ có ý nghĩa khi controller và telemetry được kiểm chứng.
Luồng hoạt động
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
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata: {name: payments-split, namespace: shop}
spec:
parentRefs:
- {group: '', kind: Service, name: payments, port: 8080}
rules:
- backendRefs:
- {name: payments-v1, port: 8080, weight: 90}
- {name: payments-v2, port: 8080, weight: 10}
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
Trong lab Buổi 16, gửi nhiều requests /version, xem tỷ lệ
v1/v2, HTTPRoute conditions và Kiali traffic graph nếu metrics pipeline đã
có.
Lỗi dễ mắc
Retries trên POST thanh toán có thể gây tác dụng phụ trùng; cần idempotency keys và retry budgets, không chỉ cấu hình proxy.
Tự kiểm tra
HTTPRoute được apply có tự cung cấp public HTTPS không?Xem đáp án ↗
Không. Cần controller, Gateway listener, certificates, DNS và routing/exposure phù hợp.
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 16Đố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 ↗