diff --git a/content/en/docs/ambient/getting-started/deploy-sample-app/index.md b/content/en/docs/ambient/getting-started/deploy-sample-app/index.md index d63c3cbaf449..7e288ce439a6 100644 --- a/content/en/docs/ambient/getting-started/deploy-sample-app/index.md +++ b/content/en/docs/ambient/getting-started/deploy-sample-app/index.md @@ -61,6 +61,14 @@ bookinfo-gateway istio bookinfo-gateway-istio.default.svc.cluster.local Tr Wait for the gateway to show as programmed before continuing. +{{< tip >}} +If you use Azure Kubernetes Service (AKS), and want to keep the service type as `LoadBalancer` to access it without a tunnel, you also need to run +{{< text bash >}} +$ kubectl annotate svc/bookinfo-gateway-istio service.beta.kubernetes.io/port_80_health-probe_protocol=tcp +{{< /text >}} +for Azure Load Balancer health probes to work correctly. +{{< /tip >}} + ## Access the application You will connect to the Bookinfo `productpage` service through the gateway you just provisioned. To access the gateway, you need to use the `kubectl port-forward` command: diff --git a/content/en/docs/ambient/getting-started/deploy-sample-app/snips.sh b/content/en/docs/ambient/getting-started/deploy-sample-app/snips.sh index 9efe9fc3c37f..bdc30e699f8c 100644 --- a/content/en/docs/ambient/getting-started/deploy-sample-app/snips.sh +++ b/content/en/docs/ambient/getting-started/deploy-sample-app/snips.sh @@ -41,3 +41,7 @@ kubectl get gateway NAME CLASS ADDRESS PROGRAMMED AGE bookinfo-gateway istio bookinfo-gateway-istio.default.svc.cluster.local True 42s ENDSNIP + +snip_deploy_and_configure_the_ingress_gateway_4() { +kubectl annotate svc/bookinfo-gateway-istio service.beta.kubernetes.io/port_80_health-probe_protocol=tcp +} diff --git a/content/en/docs/examples/bookinfo/index.md b/content/en/docs/examples/bookinfo/index.md index adc6e290388c..f09981dac575 100644 --- a/content/en/docs/examples/bookinfo/index.md +++ b/content/en/docs/examples/bookinfo/index.md @@ -187,6 +187,14 @@ Kubernetes cluster, e.g., from a browser. A gateway is used for this purpose. $ export INGRESS_PORT=$(kubectl get gtw bookinfo-gateway -o jsonpath='{.spec.listeners[?(@.name=="http")].port}') {{< /text >}} + {{< tip >}} + If you use Azure Kubernetes Service (AKS), you also need to run + {{< text bash >}} + $ kubectl annotate svc/bookinfo-gateway-istio service.beta.kubernetes.io/port_80_health-probe_protocol=tcp + {{< /text >}} + for Azure Load Balancer health probes to work correctly. + {{< /tip >}} + {{< /tab >}} {{< /tabset >}} diff --git a/content/en/docs/examples/bookinfo/snips.sh b/content/en/docs/examples/bookinfo/snips.sh index 16fb26db0c09..252d28e7ec4d 100644 --- a/content/en/docs/examples/bookinfo/snips.sh +++ b/content/en/docs/examples/bookinfo/snips.sh @@ -101,6 +101,10 @@ export INGRESS_PORT=$(kubectl get gtw bookinfo-gateway -o jsonpath='{.spec.liste } snip_determine_the_ingress_ip_and_port_6() { +kubectl annotate svc/bookinfo-gateway-istio service.beta.kubernetes.io/port_80_health-probe_protocol=tcp +} + +snip_determine_the_ingress_ip_and_port_7() { export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT } diff --git a/content/en/docs/setup/platform-setup/azure/index.md b/content/en/docs/setup/platform-setup/azure/index.md index 459671f08df1..a56540ffab0a 100644 --- a/content/en/docs/setup/platform-setup/azure/index.md +++ b/content/en/docs/setup/platform-setup/azure/index.md @@ -58,3 +58,12 @@ For the `az` cli option, complete `az login` authentication OR use cloud shell, {{< text bash >}} $ az aks get-credentials --resource-group myResourceGroup --name myAKSCluster {{< /text >}} + +### Using Gateway API with Azure + +If you are using Gateway API with AKS, you might also need apply the following configuration +{{< text bash >}} +$ kubectl annotate svc/ service.beta.kubernetes.io/port__health-probe_protocol=tcp +{{< /text >}} +where `` is the name of the load balancer service created by Istio and `` is the port number of the HTTP listener. +This annotation is required for Azure Load Balancer health checks to work when the `/` path responds with a non 200 code.