Open Service Mesh (OSM) add-on in Azure Kubernetes Service (AKS)
Article
Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows you to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
OSM runs an Envoy-based control plane on Kubernetes and can be configured with SMI APIs. OSM works by injecting an Envoy proxy as a sidecar container with each instance of your application. The Envoy proxy contains and executes rules around access control policies, implements routing configuration, and captures metrics. The control plane continually configures the Envoy proxies to ensure policies and routing rules are up to date and proxies are healthy.
OSM can be added to your Azure Kubernetes Service (AKS) cluster by enabling the OSM add-on using the Azure CLI or a Bicep template. The OSM add-on provides a fully supported installation of OSM that's integrated with AKS.
Important
Based on the version of Kubernetes your cluster is running, the OSM add-on installs a different version of OSM.
Kubernetes version
OSM version installed
1.24.0 or greater
1.2.5
Between 1.23.5 and 1.24.0
1.1.3
Below 1.23.5
1.0.0
Older versions of OSM may not be available for install or be actively supported if the corresponding AKS version has reached end of life. You can check the AKS Kubernetes release calendar for information on AKS version support windows.
Capabilities and features
OSM provides the following capabilities and features:
Secure service-to-service communication by enabling mutual TLS (mTLS).
Onboard applications onto the OSM mesh using automatic sidecar injection of Envoy proxy.
Transparently configure traffic shifting on deployments.
Define and execute fine-grained access control policies for services.
Monitor and debug services using observability and insights into application metrics.
Encrypt communications between service endpoints deployed in the cluster.
Enable traffic authorization of both HTTP/HTTPS and TCP traffic.
Configure weighted traffic controls between two or more services for A/B testing or canary deployments.
After installation, you must enable Iptables redirection for port IP address and port range exclusion using kubectl patch. For more information, see iptables redirection.
Any pods that need access to IMDS, Azure DNS, or the Kubernetes API server must have their IP addresses added to the global list of excluded outbound IP ranges using Global outbound IP range exclusions.
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Azure Kubernetes Service feedback
Azure Kubernetes Service is an open source project. Select a link to provide feedback: