When using the Istio service mesh, it's important that services have specific port names, at least their prefixes. See: https://istio.io/docs/setup/additional-setup/requirements/
Currently the query-service has its port named query which means Istio won't route traffic.
We're currently patching this with a small script:
## Install jaeger-operator and "jaeger-instance"
until kubectl get svc jaeger-instance-query -n observability 2> /dev/null
do
echo "jaeger-instance-query not ready yet, sleeping 1 second"
sleep 1
done
kubectl patch svc jaeger-instance-query --type='json' --patch='[{"op": "replace", "path": "/spec/ports/0/name", "value":"http"}]' -n observability
But this of course feels a bit hacky, we'd rather like to be able to customize this in the Jaeger-resource we're provisioning.
Calling the ports http-query would also be fine, but that wouldn't help people that want mTLS and need the portname to be https-query.
but that wouldn't help people that want mTLS and need the portname to be https-query
Do you have more info about this specific part? I thought http would have been enough to have it working.
While I think we should at least name the ports with the protocol in the first part of the name (http-), it's worth noting that this shouldn't be required "soon", perhaps as soon as Istio 1.4, as it will probably ship with a more intelligent protocol detection: https://istio.io/news/2019/announcing-1.3/#intelligent-protocol-detection-experimental
I don't have more info about mTLS right now, and I'd be happy to settle for a "solve one problem at a time"-way of working, and get back to you when (if?) we have an actual need for the HTTPS part :)
http or http-query would solve the problem for HTTP, for "all" versions of Istio.Prefixing all the ports would be my preference. It's simple enough, yet effective.
Looks like this has been addressed by #909. I'm closing, unless there's a need for prefixing other ports as well.
Most helpful comment
Prefixing all the ports would be my preference. It's simple enough, yet effective.