#amazon-web-services #microservices #grpc #amazon-eks
Вопрос:
Мы пытаемся создать микросервис gRPC на AWS EKS. Мы дошли до того, что у нас есть ALB, однако это дает нам эту ошибку: A certificate must be specified for HTTPS listeners
Вот наш сервис YAML:
apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: namespace: dev name: some-service-name annotations: alb.ingress.kubernetes.io/backend-protocol-version: GRPC alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 80}, {"HTTPS": 50051}]' alb.ingress.kubernetes.io/target-type: ip kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/scheme: internal service.beta.kubernetes.io/aws-load-balancer-internal: "true" spec: rules: - http: paths: - backend: serviceName: some-service-name servicePort: 50051 path: /*
Мы не хотим раскрывать эту услугу извне, а хотим, чтобы ее использовали только внутренние службы. Я чувствую, что для этого нам даже не нужен HTTPS, и мы можем использовать HTTP, однако похоже, что gRPC требует HTTPS.
Как правильно заставить это работать? Примеры, которые я видел, по-видимому, в основном относятся к внешним сервисам. Нужно ли нам создавать частный центр сертификации, создавать из него сертификат, а затем приписывать его прослушивателю HTTPS в настройках балансировщика нагрузки?
Спасибо!