PortNameIsNotUnderNamingConvention

    1. kind: Service
    2. metadata:
    3. name: httpbin
    4. app: httpbin
    5. spec:
    6. - name: foo-http
    7. port: 8000
    8. targetPort: 80
    9. app: httpbin

    如何修复

    • 如果您知道 service 端口的协议,将端口重命名为 <protocol>[-<suffix>] 格式就行;
    • 如果您不知道 service 端口的协议,您需要从 Prometheus 查询指标
      • 查询 istio_requests_total{reporter="destination",destination_service_name="SERVICE_NAME",response_code="200"}[TIME_RANGE]。如果您使用 Mixer v2 版本, 也可以查询 istio_requests_total{reporter="destination",destination_service_name="SERVICE_NAME",response_code="200",destination_port="TARGET_PORT"}[TIME_RANGE]
      • 如果有输出,您可以从记录中找到 request_protocol。例如,如果 request_protocolhttp,则将端口重命名为 ;
      • 如果没有输出,您可以将端口保持原样。