PortNameIsNotUnderNamingConvention
This message occurs when the port doesn’t follow the Istio service port naming convention or the port is unnamed.
Example
You will receive this message:
Info [IST0118] (Service httpbin.default) Port name foo-http (port: 80, targetPort: 80) doesn't follow the naming convention of Istio port.
when your cluster has following service:
apiVersion: v1
kind: Service
metadata:
name: httpbin
labels:
app: httpbin
spec:
ports:
- name: foo-http
port: 8000
targetPort: 80
selector:
app: httpbin
In this example, the port foo-http
doesn’t follow the syntax: name: <protocol>[-<suffix>]
.
How to resolve
- If you know the protocol the service port is serving, renaming the port with
<protocol>[-<suffix>]
format; - If you don’t know the protocol the service port is serving, you need to query metrics from Prometheus
- Running query
istio_requests_total{reporter="destination",destination_service_name="SERVICE_NAME",response_code="200"}[TIME_RANGE]
. If you are using Mixer v2, you can also run queryistio_requests_total{reporter="destination",destination_service_name="SERVICE_NAME",response_code="200",destination_port="TARGET_PORT"}[TIME_RANGE]
. - If there are outputs, you can find the
request_protocol
from the record. E.g., if therequest_protocol
is “http”, renaming port to “http-foo”; - If there is no output, you can leave the port as it is.
- Running query