About the Extension

The AKS Container extension reduces the effort required to deploy Istio in Ambient mode on your AKS cluster. Microsoft Azure validates the extension to ensure seamless compatibility with AKS, giving you confidence in using a secure and stable release. The extension does not require any additional settings or flags, providing a sidecar-less service mesh architecture out of the box.

Your organization might prefer using the extension to comply with internal compliance policies or budgetary requirements.

For more information, refer to the Azure documentation.

Before you begin

  1. Create or use existing AKS clusters. Keep in mind the following points:

    • The cluster must be able to run Istio, such as meeting the performance, and application requirements.
    • The cluster must run on a supported Kubernetes version. You can enable Istio extension on an AKS cluster that runs the corresponding supported version of Kubernetes.
    • AKS Clusters that run on Azure Linux nodes are validated and supported.
    • The cluster name must be alphanumeric with no special characters except a hyphen (-), lowercase, and begin with a letter (not a number).
    • If you plan to use Gloo Mesh, you typically install Istio in data plane clusters that run your workloads. You don’t need to install Istio in the cluster that you plan to use for the Gloo Mesh management plane.
  2. Install any CLI tools that you might need to work with your cluster, such as the following:

    • az, the Azure command line tool.
    • kubectl, the Kubernetes command line tool. Download the kubectl version that is within one minor version of the Kubernetes clusters you plan to use.
    • istioctl, the Istio command line tool. Download the istioctl version that matches the Istio version that you plan to install.

Install the AKS Extension

Install the AKS Extension by using the Azure Portal. For complete AKS Extension instructions, see the Azure documentation.

  1. Open the Azure Portal.

  2. Find the Solo.io extension from the Azure home page or Marketplace.

  3. Click Istio in Ambient mode (provided by Solo.io), and then click Create.

  4. From the Basics tab, configure the details for an existing or new cluster.

  5. From the Application Details tab, enter a unique name for the extension. Note that the unique name fulfills an Azure requirement, but is not used by the Solo.io extension (for example, the extension name does not set the name of the Kubernetes deployment of Istio in your cluster).

    Figure: Application Details page of AKS Extension
    Figure: Application Details page of AKS Extension
    Figure: Application Details page of AKS Extension
    Figure: Application Details page of AKS Extension

  6. Click Next or Review + create. Azure begins a validation process.

  7. Review the details, such as the automation template, terms, and extension information that you previously configured. Then, click Create.

    Figure: Review + create page of AKS Extension
    Figure: Review + create page of AKS Extension
    Figure: Review + create page of AKS Extension
    Figure: Review + create page of AKS Extension

  8. Wait as Azure deploys the extension to your AKS cluster (and creates the cluster if you chose to create a new cluster). Azure takes you to the deployment monitoring page. The process takes around 10 minutes.

    Figure: Monitor the deployment progress
    Figure: Monitor the deployment progress
    Figure: Monitor the deployment progress
    Figure: Monitor the deployment progress

Verify your installation

After the AKS deployment is completed, verify that Istio is working.

  1. Verify that the istiod pod has a status of Running.

      kubectl get pods -n istio-system
      

    Example output:

      NAME                      READY   STATUS    RESTARTS   AGE
    istio-cni-node-c6744      1/1     Running   0          12m
    istio-cni-node-xrncb      1/1     Running   0          12m
    istiod-678bfd9897-76tth   1/1     Running   0          12m
    ztunnel-khprc             1/1     Running   0          12m
    ztunnel-v9mg7             1/1     Running   0          12m
      
  2. Verify that istiod uses the solo-io distribution of Istio.

      kubectl describe pod -n istio-system -l app=istiod | grep -i image:
      

    Example output: Note solo-io in the image repository.

      Image:         arcmktplaceprod.azurecr.io/sologloo/com.nonmicrosoft.istio/images/pilot@sha256:c8ac4894f2e667eb439d1c960a47ac7fbc80aad3f0adb98f5fd9330d9c515696
      

Next steps

Now that Istio is installed in your cluster, review the following next steps you can take.

Uninstall the extension

You can uninstall the Istio Ambient extension provided by Solo.io by using the Azure Portal. Keep in mind that this action removes the Istio service mesh from your cluster.

For more information about removing an AKS Extension, see the Azure documentation.

  1. Open the Azure Portal.

  2. Go to the Resource group and then select the AKS cluster where you recently installed the application.

    Figure: Select your AKS cluster
    Figure: Select your AKS cluster
    Figure: Select your AKS cluster
    Figure: Select your AKS cluster

  3. From the service menu, expand Settings and click Extensions + applications

  4. From the list of extensions, select the Solo.io Istio extension

  5. From the action menu, click Uninstall.

    Figure: Uninstall the extension
    Figure: Uninstall the extension
    Figure: Uninstall the extension
    Figure: Uninstall the extension

  6. In your cluster, clean up the istio-system namespace.

      kubectl delete namespace istio-system