Hello,
I am not so experienced with Istio and Kiali but according to documentations and demo’s that I’ve seen, when viewing graphs in Kiali, it should show that the “istio-ingressgateway” is the entrypoint for the traffic in the mesh.
In my scenario, I have my microservice “hello-kubernetes” deployed in the “hello” namespace. In the same ‘hello’ namespace I have created a Gateway+VirtualTraffic in order to route the traffic through the Istio Ingress GW (installed by default in “istio-system” namespace).
In Kiali i merged the graphs for both namespaces : “istio-sytem” + “hello”. I was expecting in the graph belonging to “hello” namespace to see that the “source” of the traffic is “istio-ingressgateway” and not “unknown”.
Beside this, in the graph belonging to “istio-system” the source of traffic seems to be “istio-ingressgateway” but it shows that the other services are also in “unknown” namespaces and I do not know why .
kiali.istio-system.svc.cluster.local -> service located in “istio-system” ( but traffic is routed through the GW and VS defined in “default” namespace
hello-kubernetes.hello.svc.cluster.local -> service located in “default” namespaces.
Is this normal behavior ? Is my configuration wrong ? I have seen in many other demo’s/pictures that the “istio-ingressgateway” is also present in the graphs where microservices are deployed.
My expectation is as in the below graph -> in the “default” namespace graphs the traffic comes from the “istio-ingressgateway”.
My setup is:
Kiali UI 1.22.1
Kiali Server v1.22.1
Kiali Container v1.22.1
Components
Istio1.7.4
Prometheus2.19.0
Kubernetesv1.18.1
My configuration:
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: gateway-hello
namespace: hello
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: vs-hello
namespace: hello
spec:
hosts:
- kiali.kube-dev.avancart.local
- hello.kube-dev.avancart.local
gateways:
- gateway-hello
http:
- match:
- headers:
Host:
exact: kiali.kube-dev.avancart.local
route:
- destination:
host: kiali.istio-system.svc.cluster.local
port:
number: 20001
- match:
- headers:
Host:
exact: hello.kube-dev.avancart.local
route:
- destination:
host: hello-kubernetes.hello.svc.cluster.local
port:
number: 80