为服务部署DestinationRule后,使用客户端调用服务,发现DestinationRule失效,调用服务失败。
ASM路由一个请求时,会根据固定查找过程查找DestinationRule去完成路由。如果您的DestinationRule部署在查找过程之外的命名空间,则DestinationRule会失效。查找过程如下所示:
例如,使用以下YAML文件在ns1命名空间中定义了myservice服务的DestinationRule。从host字段得知,myservice服务是部署在default命名空间。
apiVersion: networking.istio.io/v1alpha3kind: DestinationRulemetadata: name: myservicespec: host: myservice.default.svc.cluster.local trafficPolicy: connectionPool: tcp: maxConnections: 100
部署DestinationRule时,您需要将DestinationRule部署在以下命名空间中:
说明 VirtualService不存在命名空间的限制。VirtualService无论在哪个命名空间定义,默认在所有命名空间都可见,除非在YAML文件中通过exportTo改变这一默认行为。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。