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