【发布时间】:2022-03-15 12:47:44
【问题描述】:
我们正在尝试在 AWS EKS 上启动 gRPC 微服务。我们已经到了启动 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 侦听器?
谢谢!
【问题讨论】:
标签: amazon-web-services microservices grpc amazon-eks