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`でリッスンするように設定する必要があります。