Ứng dụng .NET của tôi được triển khai cho cụm EKS, cụm này có đầu vào được xác định bằng các chú thích có liên quan sau
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-2-2017-01
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/scheme: hướng tới internet
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": " HTTP_301"}}'
alb.ingress.kubernetes.io/healthcheck-path: "/swagger/v1/swagger.json"
alb.ingress.kubernetes.io/backend-protocol-version: HTTP2
Ứng dụng của tôi triển khai tốt trên cụm với tất cả các kiểm tra sức khỏe đã qua và các nhóm ở trạng thái đang chạy. Tuy nhiên, khi tôi truy vấn điểm cuối đầu vào bằng yêu cầu GRPC, tôi gặp lỗi như được hiển thị tóm tắt bên dưới
Ngoại lệ chưa được xử lý: System.Reflection.TargetInvocationException: Ngoại lệ đã bị ném bởi mục tiêu của một lệnh gọi.
---> Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Lỗi khi bắt đầu cuộc gọi gRPC. HttpRequestException: Đã xảy ra lỗi khi gửi yêu cầu. IOException: Yêu cầu đã bị hủy bỏ. Http2ConnectionException: Máy chủ HTTP/2 đã gửi dữ liệu không hợp lệ trên kết nối. Mã lỗi HTTP/2 'PROTOCOL_ERROR' (0x1).", DebugException="System.Net.Http.HttpRequestException: Đã xảy ra lỗi khi gửi yêu cầu.
Tôi chắc chắn rằng không có vấn đề gì với yêu cầu được đề cập, bởi vì khi tôi thực hiện chuyển tiếp cổng trên một trong các cổng và nhấn vào điểm cuối localhost:5000, tôi sẽ nhận được kết quả mong muốn.
Tôi đã kiểm tra bộ cân bằng tải và nhóm mục tiêu trong bảng điều khiển AWS và chúng ở trạng thái bình thường. Tuy nhiên, bảng điều khiển giám sát hiển thị thêm vào số lượng ELB 4xx mỗi khi tôi truy cập điểm cuối. Tôi chắc chắn có vấn đề ở cấp độ xâm nhập nhưng tôi không thể tìm ra chính xác vấn đề.
Không chắc chắn những gì tôi đang thiếu ở đây hoặc nếu có bất cứ điều gì sai với thiết lập của tôi. Nhưng vì tính năng chuyển tiếp cổng hoạt động như mong đợi, nên đây có thể là một số vấn đề với LoadBalancer.
Để tham khảo, tôi đã thử thay đổi phiên bản giao thức phụ trợ thành GRPC nhưng không được