I am trying to move away from Istio Gateway/VirtualService objects for ingress and use standard Kubernetes Ingress objects instead as documented here.
I believe I have followed all of the steps but cannot get Istio Ingress Gateway to detect the Ingress objects and istiod is logging:
configuration is invalid: gateway must have at least one server
and the Istio Ingress Gateway does not start listening.
I tried creating a single “catch-all” Gateway (still with no VirtualServices) and although the Ingress Gateway does start listening every request is 404, even things that should be matched by the Ingress object.
I also tried setting the
meshConfig.ingressControllerMode property to
DEFAULT and then tried different combinations of the
kubernetes.io/ingress.class annotation and
ingressClassName property but nothing seems to make a difference (I have manually created the Istio IngressClass)
Are there any steps anybody can think of that I might have missed, or any ideas on how to debug this further, please?
Thanks in advance.