ExternalNameServiceTypeInvalidPortName
このメッセージは、ポートがIstioサービスポートの命名規則に従っていない場合、ポートに名前がない場合、またはポートの名前がtcpである場合に、ExternalNameタイプのサービスに対して発生します。
例
このメッセージが表示されます
Warning [IST0150] (Service nginx.default) Port name for ExternalName service is invalid. Proxy may prevent tcp named ports and unmatched traffic for ports serving TCP protocol from being forwarded correctly.
クラスタに次のサービスがある場合
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
externalName: nginx.example.com
ports:
- name: tcp
port: 443
protocol: TCP
targetPort: 443
type: ExternalName
この例では、ポート名はtcp
であり、構文はname: <protocol>
に従っています。しかし、ExternalNameサービスの場合、サービスIPは定義されていないため、ルーティングにはSNIフィールドが必要です。
解決方法
- ExternalNameサービスの種類を使用していて、プロトコルがTCPの場合、ポート名を
<protocol>[-<suffix>]
または<protocol>
に名前変更してください。ここで、protocolはhttps
またはtls
です。詳細については、明示的なプロトコル選択に関するドキュメントを参照してください。