ExternalNameServiceTypeInvalidPortName
此消息发生在类型为 ExternalName 的服务上,当端口不遵循 Istio 服务端口命名约定,端口未命名或端口名为 tcp 时。
示例
您将收到此消息
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>
,其中协议为https
或tls
。要了解更多信息,请查看有关 显式协议选择 的文档。