对于网状网络(在我的简单示例中,没有入口或出口),通常的做法是让虚拟服务的“主机”与现有的kubernetes服务匹配:
hosts:
- reviews.default.svc.cluster.local
但这是必需吗?如果我想为完全不同的主机名创建虚拟服务,那可能吗?例如:
hosts:
- review-service.my-servicemesh
然后在http://review-service.my-servicemesh而不是http://reviews(或http://reviews.default)处调用服务?
或者以另一种方式问:我可以将我的istio(虚拟)服务的命名空间与kubernetes服务/命名空间的命名空间完全分离吗?
答案 0 :(得分:1)
是的,可以使用istio Service Entry来实现。您可以创建类似这样的内容
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: review-servicemesh
spec:
hosts:
- "review-service.my-servicemesh"
location: MESH_EXTERNAL
ports:
- number: 80
name: http
protocol: HTTP
resolution: STATIC [or even DNS]
endpoints:
- address: <your_endpoint_address>