Search code examples
kubernetesistioazure-aks

Azure Kubernetes - Setup Istio with both Ingress & Egress Gateway?


I am planning to install Istion on my AKS Cluster using the following configuration, what are all the components this would install? would it install both the Ingress & Egress Gateways?

istioctl operator init

kubectl create ns istio-system

cat << EOF | kubectl apply -f -
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: istio-control-plane
spec:
  # Use the default profile as the base
  # More details at: https://istio.io/docs/setup/additional-setup/config-profiles/
  profile: default
  # Enable the addons that we will want to use
  addonComponents:
    grafana:
      enabled: true
    prometheus:
      enabled: true
    tracing:
      enabled: true
    kiali:
      enabled: true
  values:
    global:
      # Ensure that the Istio pods are only scheduled to run on Linux nodes
      defaultNodeSelector:
        beta.kubernetes.io/os: linux
    kiali:
      dashboard:
        auth:
          strategy: anonymous
EOF

Solution

  • I have used the following configuration to setup both the Ingress & Egress Gateways.

    cat << EOF | kubectl apply -f -
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    metadata:
      namespace: istio-system
      name: istio-control-plane
    spec:
      # Use the default profile as the base
      # More details at: https://istio.io/docs/setup/additional-setup/config-profiles/
      profile: default
      # Enable the addons that we will want to use
      addonComponents:
        grafana:
          enabled: true
        prometheus:
          enabled: true
        tracing:
          enabled: true
        kiali:
          enabled: true
      values:
        global:
          # Ensure that the Istio pods are only scheduled to run on Linux nodes
          defaultNodeSelector:
            beta.kubernetes.io/os: linux
        kiali:
          dashboard:
            auth:
              strategy: anonymous
      components:
        egressGateways:
        - name: istio-egressgateway
          enabled: true
    EOF