istio配置重复的svc报错

现象:

两个vs中配置了同一个svc地址,导致其中的一个vs路由配置不生效,看到istiod服务的报错duplicate domain from service

解决:

istiod服务报错日志

bash 复制代码
2024-11-13T14:54:50.394181675+08:00     "pilot_vservice_dup_domain": {
2024-11-13T14:54:50.394188065+08:00         "xxx.svc.cluster.local:80": {
2024-11-13T14:54:50.394192825+08:00             "proxy": "xx-59cf68bfdf-x57d2.xx-ns",
2024-11-13T14:54:50.394197005+08:00             "message": "duplicate domain from service: xxx-api.xx-master.svc.cluster.local:80"
2024-11-13T14:54:50.394200645+08:00         }
2024-11-13T14:54:50.394204055+08:00     }
2024-11-13T14:54:50.394207575+08:00 }

配合istioctl的其它子命令进行验证

bash 复制代码
# 查看侦听器配置
istioctl proxy-config listeners xxx-pod.xx-ns |grep "xx"
10.99.46.36    80    Trans: raw_buffer; App: http/1.1,h2c                                     Route: x.x-master.svc.cluster.local:80
10.99.46.36    80    ALL                                                                      Cluster: outbound|80||mp-x.ns.svc.cluster.local
# 查看集群cluster配置
istioctl proxy-config clusters xx-pod.ns |grep "xx"
xx.ns.svc.cluster.local                           80        -          outbound      EDS              
xx.ns.svc.cluster.local                         80        -          outbound      EDS     
# 路由配置
istioctl proxy-config routes xx-pod.ns |grep -E "tts"
deploymentxx.ns.svc.cluster.local:80                 deploymentxx.ns.svc.cluster.local:80                              *                                                                                                                     /*                     svc1-name-virtualservice.ns
deploymentxx.ns.svc.cluster.local:80               deploymentxx.ns.svc.cluster.local:80                            *                                                                                                                     /*                     svc1-name-virtualservice.ns
80                                                                                    deploymentxx.ns.svc.cluster.local:80                              svc1-name, svc1-name.ns + 1 more...                           /*                     svc2-virtualservice.ns
80                                                                                    deploymentxx.ns.svc.cluster.local:80                            svc2, svc2.ns + 1 more...                       /*                    svc-virtualservice.ns

将其中一个vs的hosts字段更改即可

此篇属于事后记录

相关推荐
欧先生^_^9 小时前
Istio 的授权认证 和 OAuth2/OIDC
数据库·sql·istio
上海运维Q先生5 天前
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
云原生·k8s·cilium
小李飞刀李寻欢6 天前
使用kubeadm部署Kubernetes(k8s)集群的步骤
linux·服务器·ubuntu·kubernetes·k8s
上海运维Q先生7 天前
Cilium动手实验室: 精通之旅---23.Advanced Gateway API Use Cases
云原生·k8s·cilium
上海运维Q先生8 天前
Cilium动手实验室: 精通之旅---19.Golden Signals with Hubble and Grafana
云原生·k8s·grafana·cilium
nuczzz10 天前
GPU虚拟化
docker·kubernetes·k8s·gpu·nvidia
上海运维Q先生10 天前
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
云原生·k8s·cilium
上海运维Q先生11 天前
Cilium动手实验室: 精通之旅---11.Advanced BGP Features - Lab
云原生·k8s·cilium
Lw老王要学习12 天前
Linux容器篇、第二章_01Ubuntu22 环境下 KubeSphere 容器平台高可用搭建全流程
linux·运维·服务器·k8s·kubesphere·容器化
剑哥在胡说13 天前
Kubernetes (k8s)版本发布情况
k8s