AKS | Istio-based service mesh add-on

Hi!,

As cloud-native applications continue to become more complex, managing the communication between services in a microservices architecture becomes a challenge. Service mesh technology offers a solution to this challenge by providing a layer of abstraction for managing network traffic between services. One of the leading service mesh technologies is Istio, and it is now available as an add-on for Azure Kubernetes Service (AKS).

Istio is an open-source service mesh that provides a uniform way to connect, secure, and manage microservices. It provides features such as traffic management, service discovery, load balancing, and security. With Istio, you can manage the communication between services without modifying the application code or infrastructure. Istio is built on top of Envoy, a high-performance proxy that intercepts and routes network traffic between services.

AKS is a managed Kubernetes service that simplifies the deployment, management, and scaling of containerized applications. AKS provides a secure, reliable, and scalable platform for running microservices. However, managing the communication between services can become complex as the number of services and the traffic between them grows. By adding Istio to AKS, you can simplify the management of microservices communication. Istio provides a set of tools and features that make it easier to manage traffic, secure communication, and monitor services. With Istio, you can:

  • Control traffic: Istio provides traffic management features such as load balancing, routing, and fault injection. You can configure Istio to control the traffic between services and ensure that the traffic is routed to the correct version of the service.
  • Secure communication: Istio provides security features such as authentication, authorization, and encryption. With Istio, you can secure the communication between services without modifying the application code.
  • Monitor services: Istio provides monitoring features such as tracing and metrics. With Istio, you can monitor the performance of services and troubleshoot issues.

To use Istio with AKS, you need to enable the Istio add-on when you create an AKS cluster. You can do this by using the Azure portal, Azure CLI, or Azure PowerShell. Once you have enabled the Istio add-on, Istio is deployed as a set of Kubernetes resources in your AKS cluster.

Deploy Istio addon for a new AKS cluster
az extension update --name aks-preview
az feature register --namespace "Microsoft.ContainerService" --name "AzureServiceMeshPreview"
az group create --name ${RESOURCE_GROUP} --location ${LOCATION}
az aks create \
--resource-group ${RESOURCE_GROUP} \
--name ${CLUSTER} \
--enable-asm
Deploy Istio addon for an existing AKS cluster
az extension update --name aks-preview
az feature register --namespace "Microsoft.ContainerService" --name "AzureServiceMeshPreview"
az aks mesh enable --resource-group ${RESOURCE_GROUP} --name ${CLUSTER}
az aks show --resource-group ${RESOURCE_GROUP} --name ${CLUSTER}  --query 'serviceMeshProfile.mode'

Istio-based service mesh add-on for AKS has the following limitations:

  • The add-on currently doesn’t work on AKS clusters using Azure CNI Powered by Cilium.
  • The add-on doesn’t work on AKS clusters that are using Open Service Mesh addon for AKS.
  • The add-on doesn’t work on AKS clusters that have Istio installed on them already outside the add-on installation.
  • Managed lifecycle of mesh on how Istio versions are installed and later made available for upgrades.
  • Istio doesn’t support Windows Server containers.
  • Customization of mesh based on the following custom resources is blocked for now – EnvoyFilter, ProxyConfig, WorkloadEntry, WorkloadGroup, Telemetry, IstioOperator, WasmPlugin

After Istio is deployed, you can configure it using Istio configuration resources such as VirtualService, DestinationRule, and Gateway. These resources allow you to control the traffic between services, apply security policies, and configure load balancing.

Istio-based service mesh add-on for Azure Kubernetes Service provides a powerful tool for managing microservices communication. With Istio, you can simplify the management of traffic, security, and monitoring in your AKS cluster. The Istio add-on for AKS is easy to use and provides a powerful set of features that can help you manage your microservices architecture with ease.

Reference: https://learn.microsoft.com/en-us/azure/aks/istio-about

Maxime.

Démarrez une conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *