Custom DNS and Istio
Apply these settings through the existing Helm or GitOps owner of the installation.
Custom DNS Domain
Section titled “Custom DNS Domain”For a domain other than cluster.local, configure the Agent and KEDA with the same suffix. This example uses my-cluster.com in the Agent chart’s values:
agent: extraArgs: cluster-local-domain: my-cluster.comkeda: clusterDomain: my-cluster.com operator: extraArgs: k8s-cluster-domain: my-cluster.com metricsServer: extraArgs: metrics-service-address: keda-operator.%s.svc.my-cluster.com:9666The Agent chart passes keda values to its dependent chart. For a separate KEDA release, apply the fields beneath keda at that chart’s root.
Istio Integration
Section titled “Istio Integration”Sidecar injection in the KEDA installation namespace can leave external.metrics.k8s.io unavailable with FailedDiscoveryCheck. Disable injection and restart the affected deployments:
kubectl label namespace keda istio-injection=disabled --overwritekubectl get namespace keda --show-labelskubectl get deployments -n keda# Replace with a reviewed deployment that had an injected sidecar.kubectl rollout restart deployment/DEPLOYMENT_NAME -n kedaVerify
Section titled “Verify”kubectl get apiservice v1beta1.external.metrics.k8s.ioConfirm AVAILABLE is True. Continue with installation verification or workload troubleshooting. To route application traffic through Istio, use HTTP scaling with Istio VirtualServices.