部署冲突端口
当两个服务选择相同工作负载且具有相同的 targetPort
但不同的 port
时,会出现此消息。
一个例子
考虑一个具有以下服务的 Istio 网格
apiVersion: v1
kind: Service
metadata:
name: nginx-a
spec:
ports:
- port: 8080
protocol: TCP
targetPort: 80
selector:
app: nginx
---
apiVersion: v1
kind: Service
metadata:
name: nginx-b
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
在本例中,服务nginx-a
和服务nginx-b
选择相同的负载nginx
,使用相同的targetPort
,但port
不同。
如何解决
这可以通过两种方式之一解决
- 使两个服务使用相同的
port
。这将需要重新配置其中一个服务的客户端,使其连接到不同的port
。 - 使两个服务使用不同的
targetPort
。这将需要配置其中一个服务的负载 Pod,使其监听与另一个服务相同的targetPort
。