Istio 中配置服务访问外部 gRPC
Closed this issue · 0 comments
xring commented
一般使用 Istio 都会配置拦截对外访问的地址范围为所有,此时需要访问外部服务如第三方提供的服务需要通过添加 ServiceEntry
的方式来实现。
我们集成某第三方服务,对接接口采用 gRPC,地址为 1.1.1.1:9999
和 1.1.1.1:10101
,则需要配置如下 ServiceEntry
来放行相关流量:
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: external-apm
spec:
hosts:
- outside.grpc.xxx # not used
addresses:
- 1.1.1.1/32 # VIPs
ports:
- number: 9999
name: tcp-1
protocol: TCP
- number: 10101
name: tcp-2
protocol: TCP
location: MESH_EXTERNAL
resolution: STATIC
endpoints:
- address: 1.1.1.1
其中的 hosts
字段并不会被使用,由于指定了 resolution
策略为 STATIC
,所以直接使用 endpoints
中的 address
找到目标服务。更多的参数和配置可以参考 Istio Service Entry Doc