我正在尝试使用istio和envoy为需要连接到外部mongodB服务器的服务实现服务网格,但是由于某些原因,我的服务无法从istio代理访问外部mongodB服务器
下面是我的服务的网关和虚拟服务配置
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: gtreviews
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 7890
name: http
protocol: GRPC
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- "*"
gateways:
- gtreviews
http:
- match:
- uri:
prefix: "/reviews"
route:
- destination:
port:
number: 8080
host: reviews.istio-system.svc.cluster.local
我添加了出口服务条目,但仍然无法使用
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: external-svc-mongocluster
spec:
hosts:
- xxx.xx.com
ports:
- name: mongo
number: 27017
protocol: tcp
location: MESH_EXTERNAL
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: external-svc-mongocluster
spec:
hosts:
- xxx.xx.com
tcp:
- match:
route:
- destination:
host: xxx.xx.com
port:
number: 27017
weight: 100
答案 0 :(得分:2)
尝试将ServiceEntry
中的端口指定为TLS(名称和协议)。
我现在正在处理有关MongoDB的任务,请检查此PR https://github.com/istio/istio.io/pull/2347/中的“ TLS的出口控制”部分,这还有些原始。