msv
May 24, 2022, 2:36pm
1
Hi people!
I’m stumped. I want to use Kubernetes ingresses to configure the ingress gateway. But the ingresses are not picked up by the ingress gateway. Can anybody offer any hints?
I have created an ingressclass and ingresses as described here: Istio / Kubernetes Ingress
To verify that the ingress gateway worked at all I created an equivalent gateway and a couple of virtualservices and they where picked up and work.
I’m using version 1.13.4 of istio.
I got the same issue on EKS. The istio version is 1.13.3. But the ingress does work on my local minikube with istio 1.13.1
msv
May 30, 2022, 6:31am
3
Interesting. I’m also on EKS. Do you by any chance also have AWS Load Balancer Controller deployed?
My deployment is alb loadbalancer → alb ingress → istio-ingressgateway service
Everything works if I manually created istio gateway and virtual service for an application. But it fails to get access to the application if I just created a k8s ingress and let Istio automatically create gw and vs. It always returns 404.
One basic checking - ensure your ingress is configured to use the ingress gateway controller
if err := r.client.List(context.Background(), &gatewayClasses); err != nil {
return reconcile.Result{}, fmt.Errorf("error listing gatewayclasses: %w", err)
}
var controlledClasses controlledClasses
for i := range gatewayClasses.Items {
// avoid loop pointer issues
gc := gatewayClasses.Items[i]
if gc.Spec.ControllerName != r.controller {
// different controller, ignore.
continue
}
controlledClasses.add(&gc)
}
// no controlled gatewayclasses, trigger a delete
if controlledClasses.len() == 0 {
r.log.WithField("name", request.Name).Info("failed to find gatewayclass")
Otherwise, I do not believe it will be picked up by the gateway
msv
June 21, 2022, 8:39am
6
Thanks for the answer. But this code is from Contour. I don’t see how it has anything to do istio.
Previous is just an example to help you understand the filter.
You should follow your controller.