I have the above setup functional where the traffic flows from the istio ingress gateway to nginx contoller and finally to the speedtest service, however, I do not see the required telemetry information captured for traffic between the nginx ingress controller pod and the speedtest service.
Both the nginx controller and the speedtest are part of the service mesh. Pods of both these services have sidecar injected in them.
The traffic flows perfectly fine from the nginx ingress controller svc to the speedtest pod.
nginx ingress controller svc —> nginx-ingress pod —> speedtest-svc —> speedtestpod
However, no telemetry data is getting collected for the link between nginx ingress pod --> speedtest-svc
Here are the manifests used
virtual-service
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: nginx-virtual-service
namespace: default
spec:
gateways:
- nginx-gateway
hosts:
- '*'
http:
- match:
- uri:
prefix: /
route:
- destination:
host: nginx-ingress-controller
port:
number: 80
timeout: 86400s
nginx ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/service-upstream: "true"
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
labels:
app: vbergbauer-speedtest
name: speedtest-ingress
namespace: default
spec:
rules:
- http:
paths:
- backend:
serviceName: speedtest-vbergbauer-speedtest
servicePort: 8903
path: /(speedtest)/?(.*)
Any hints on why the telemetry information is not being captured for the hop between the nginx ingress controller pod and the speedtest-svc
I did not explicitly open any http-ports for the speedtest service. Could this be the reason for the metrics not being captured ?
Istio version: 1.1.7