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>,其中协议为 httpstls。要了解更多信息,请查看有关 显式协议选择 的文档。