我有一个运行托管 grpc 的简单微服务。 我正在尝试从我的机器访问该服务。我的客户无法联系到。我的 kubernetes 配置可能有问题。我需要一些 Kubernetes 和 python grpc 专家的建议,以了解我遗漏了什么。
Service.yaml
apiVersion: v1
kind: Service
metadata:
name: grpctest-service
namespace: myproject
spec:
selector:
app.kubernetes.io/name: mypod
ports:
- protocol: TCP
port: 50051
targetPort: 50051
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/backend-protocol: GRPC
nginx.ingress.kubernetes.io/ssl-redirect: "false"
labels:
app.kubernetes.io/name: mypod
name: grpctest-ingress
namespace: myproject
spec:
rules:
- host: <hostname>
http:
paths:
- backend:
serviceName: grpctest-service
servicePort: 50051
tls:
- hosts:
- <hostname>
secretName: wild-tls-secret
Dockerfile
EXPOSE 50051
CMD ["python3", "/app/unary_server.py"]
unary_server.py
server.add_insecure_port('0.0.0.0:50051')
unary_client.py
self.host = <hostname>
self.server_port = 80
我尝试将端口更改为 50051 它仍然无法到达。 我应该做错什么?
更新: 我可以使用服务 IP 地址从另一个微服务访问微服务 所以我的入口文件应该是错误的