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?
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:
- "*"