Istio 1.11.4 deployment to AKS using Helm and Terraform

I will appreciate if anyone give guidance on deploying and configuring Istio 1.11 into AKS using Helm and Terraform.

Hello Mohd_Aslam.

I managed to install istio on EKS using terraform. However I cant say my approach is the best. Here’s what I do:

  • download the istio charts to a directory inside the one with the tf files (./istio-1.11.4/manifests/charts)
  • Define an “istio_base” helm release, calling the base chart
chart = "${path.module}/istio-${var.istio_version}/manifests/charts/base"
  • Define an istio helm_release calling the discovery chart
chart = "${path.module}/istio-${var.istio_version}/manifests/charts/istio-control/istio-discovery/"
  • Define as many istio-ingress-gateway releases as you may need (in my case, internal and external)
chart = "${path.module}/istio-${local.version}/manifests/charts/gateways/istio-ingress/"

I’ve set up the values directly on the tf files, using the set clauses, for example:

  set {
    name  = "gateways.istio-ingressgateway.autoscaleMin"
    value = "2"

This is a very high level description of my solution. I hope it helps you.

If anyone else has a different (and better) solution, I’d love to see it too.