【发布时间】:2022-08-04 05:29:19
【问题描述】:
我正在尝试为 gRPC 服务实现入口。当我使用单一服务时,它工作正常,但一旦我集成第二个服务,我就无法调用它。
下面是这个的代码。我的两个服务都公开为 NodePort。
#### Ingress ####
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/backend-protocol-version: GRPC
alb.ingress.kubernetes.io/listen-ports: \'[{\"HTTPS\":443}]\'
alb.ingress.kubernetes.io/target-type: instance
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internal
service.beta.kubernetes.io/aws-load-balancer-internal: \"true\"
alb.ingress.kubernetes.io/certificate-arn: <certificate-arn>
labels:
app: grpcserver
name: grpcserver
spec:
rules:
- host: grpc-services.dev.test.com
http:
paths:
- backend:
service:
name: users
port:
number: 9090
path: /
pathType: Prefix
这是结果
❯ grpcurl grpc-services.dev.test.com:443 list
grpc.health.v1.Health
grpc.reflection.v1alpha.ServerReflection
user.UserService
现在,当我添加电子邮件服务的代码时,如下所示
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/backend-protocol-version: GRPC
alb.ingress.kubernetes.io/listen-ports: \'[{\"HTTPS\":443}]\'
alb.ingress.kubernetes.io/target-type: instance
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internal
service.beta.kubernetes.io/aws-load-balancer-internal: \"true\"
alb.ingress.kubernetes.io/certificate-arn: <certificate-arn>
labels:
app: grpcserver
name: grpcserver
spec:
rules:
- host: grpc-services.dev.test.com
http:
paths:
- backend:
service:
name: emails
port:
number: 9090
path: /emails
pathType: Prefix
- backend:
service:
name: users
port:
number: 9090
path: /
pathType: Prefix
现在当我尝试访问这个我得到错误
❯ grpcurl grpc-services.dev.test.com:443/emails list
Failed to dial target host \"grpc-services.dev.test.com:443/emails\": dial tcp: lookup tcp/443/emails: nodename nor servname provided, or not known
also tried
❯ grpcurl grpc-services.dev.test.com/emails:443 list
Failed to dial target host \"grpc-services.dev.test.com/emails:443\": dial tcp: lookup grpc-services.dev.test.com/emails: no such host
我期待它可以作为 HTTP 工作,也许我错过了一些东西。
请帮我。
谢谢,
-
grpc-services.dev.kappapay.com这不是规范中使用的主机。 -
@gohm\'c,错字已修复
标签: kubernetes grpc kubernetes-ingress aws-application-load-balancer