神秘的错误导致两件事发生
VirtualServices
都没有工作,尽管格式正确并且已经多次检查了字段。istioctl proxy-status
上,整个RDS
列为STALE
。在查看istio-proxy日志-c discovery
(grep
为RDS
时),我看到了以下错误。
2019-02-27T19:09:58.644652Z warn ads ADS:RDS: ACK ERROR ... ... ... "Only unique values for domains are permitted. Duplicate entry of domain 172.16.x.y"
我该如何解决?
Istio版本1.0.6
Kubernetes版本1.10.x-gke
答案 0 :(得分:0)
解决此问题的关键是日志中的IP地址。在搜索配置中我拥有该IP地址的位置之后,事实证明它位于我的ServiceEntries
中。
我的ServiceEntries
之一如下:
spec:
addresses:
- 172.16.x.y
hosts:
- 172.16.x.y
location: MESH_EXTERNAL
ports:
- name: http
number: 80
protocol: HTTP
- name: https
number: 443
protocol: HTTPS
resolution: DNS
事实证明您不能在其中有多个端口。我删除了HTTPS块,就像魔术一样,一切正常。 istioctl proxy-status
命令将RDS
中的所有内容显示为SYNCED
,并且我所有的VirtualServices
开始重新工作。