istioistio-gateway

How to configure the ingress gateway in istio?


I am trying to install istio on an aks according to the documentation, I am using these commands

helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
kubectl create namespace istio-system
helm install istio-base istio/base -n istio-system
helm install istiod istio/istiod -n istio-system --wait

kubectl create namespace istio-ingress
kubectl label namespace istio-ingress istio-injection=enabled
helm install istio-ingress istio/gateway -n istio-ingress

I use the Bookinfo Application from the documentation to test but I can't access the application through the istio gateway:

kubectl create namespace app
kubectl label namespace app istio-injection=enabled
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.22/samples/bookinfo/platform/kube/bookinfo.yaml -n app
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.22/samples/bookinfo/networking/bookinfo-gateway.yaml -n app

I can get a response from the service to the application but not from the public IP Do I need to configure something additional?


Solution

  • As @Arnau Senserrich mentions, an error was that it was not pointing to the ingress gateway in the selector and another error was that when installing with helm with the default configurations the listening port was 80 while in the example application the gateway was listening through the 8080.

    This is the corrected gateway

    apiVersion: networking.istio.io/v1alpha3
    kind: Gateway
    metadata:
      name: bookinfo-gateway
    spec:
      selector:
        istio: ingress
      servers:
      - port:
          number: 80
          name: http
          protocol: HTTP
        hosts:
        - "*"