When using a Helm chart for Kiali server deployment, the default values file does not have an option to specify a different namespace for istio-ingressgateway. It defaults to the “istio_namespace” setting, which is usually istio-system.
The Problem
We have Istio installed into istio-system namespace, Istio Ingress Gateway installed into istio-ingress namespace, and Kiali installed into istio-system namespace.
When using Kiali WebUI for Istio component status page, the follow error message is displayed:
“istio-ingressgateway Not found”.
The Solution
If we take a look at Kiali operator file, we will find the following options defined:
istio:
component_status:
components:
- app_label: "istiod"
is_core: true
is_proxy: false
- app_label: "istio-ingressgateway"
is_core: true
is_proxy: true
# default: namespace is undefined
namespace: istio-system
- app_label: "istio-egressgateway"
is_core: false
is_proxy: true
# default: namespace is undefined
namespace: istio-system
enabled: true
What we need to do is to update our Kiali server Helm deployment values.yaml file to include the following:
external_services:
istio:
root_namespace: istio-system
component_status:
enabled: true
components:
- app_label: istiod
is_core: true
- app_label: istio-ingressgateway
is_core: true
is_proxy: true
namespace: istio-ingress
Save the changes and re-deploy using the updated values file.
GitHub Issue and a PR
https://github.com/kiali/kiali/issues/5935
References
https://github.com/kiali/kiali/discussions/3759
