DeploymentConflictingPorts
このメッセージは、2つのサービスが同じ`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`は、同じ`targetPort`で同じワークロード`nginx`を選択していますが、`port`は異なります。
解決方法
これは、次の2つの方法のいずれかで修正できます。
- 両方のサービスで同じ`port`を使用するようにします。これには、いずれかのサービスのクライアントを異なる`port`に接続するように再設定する必要があります。
- 両方のサービスで異なる`targetPort`を使用するようにします。これには、一方のサービスのワークロード ポッドを、もう一方のサービスと同じ`targetPort`でリッスンするように設定する必要があります。