Skip to content

Commit 1d196bd

Browse files
authored
Merge pull request #233721 from schaffererin/aboutservicemeshesfreshnesspass
Freshness/editing passes for About services meshes and OSM AKS docs
2 parents d0b6e70 + d1915d1 commit 1d196bd

File tree

2 files changed

+44
-46
lines changed

2 files changed

+44
-46
lines changed

articles/aks/open-service-mesh-about.md

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,71 @@
11
---
2-
title: Open Service Mesh
3-
description: Open Service Mesh (OSM) in Azure Kubernetes Service (AKS)
2+
title: Open Service Mesh in Azure Kubernetes Service (AKS)
3+
description: Learn about the Open Service Mesh (OSM) add-on in Azure Kubernetes Service (AKS).
44
ms.topic: article
5-
ms.date: 12/20/2021
5+
ms.date: 04/06/2023
66
ms.author: pgibson
77
---
88

9-
# Open Service Mesh AKS add-on
9+
# Open Service Mesh (OSM) add-on in Azure Kubernetes Service (OSM)
1010

11-
[Open Service Mesh (OSM)](https://docs.openservicemesh.io/) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
11+
[Open Service Mesh (OSM)](https://docs.openservicemesh.io/) 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.
1212

13-
OSM runs an Envoy-based control plane on Kubernetes and can be configured with [SMI](https://smi-spec.io/) 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 ensures proxies are healthy.
13+
OSM runs an Envoy-based control plane on Kubernetes and can be configured with [SMI](https://smi-spec.io/) 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.
1414

15-
The OSM project was originated by Microsoft and has since been donated and is governed by the [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/).
15+
Microsoft started the OSM project, but it's now governed by the [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/).
1616

17-
## Installation and version
17+
## Enable the OSM add-on
1818

19-
OSM can be added to your Azure Kubernetes Service (AKS) cluster by enabling the OSM add-on using the [Azure CLI][osm-azure-cli] or a [Bicep template][osm-bicep]. The OSM add-on provides a fully supported installation of OSM that is integrated with AKS.
19+
OSM can be added to your Azure Kubernetes Service (AKS) cluster by enabling the OSM add-on using the [Azure CLI][osm-azure-cli] or a [Bicep template][osm-bicep]. The OSM add-on provides a fully supported installation of OSM that's integrated with AKS.
2020

2121
> [!IMPORTANT]
22-
> Based on the version of Kubernetes your cluster is running, the OSM add-on installs a different version of OSM:
23-
> - If your cluster is running Kubernetes version 1.24.0 or greater, the OSM add-on installs version *1.2.3* of OSM.
24-
> - If your cluster is running a version of Kubernetes between 1.23.5 and 1.24.0, the OSM add-on installs version *1.1.3* of OSM.
25-
> - If your cluster is running a version of Kubernetes below 1.23.5, the OSM add-on installs version *1.0.0* of OSM.
22+
> Based on the version of Kubernetes your cluster is running, the OSM add-on installs a different version of OSM.
23+
>
24+
> |Kubernetes version | OSM version installed |
25+
> |---------------------------|-----------------------|
26+
> | 1.24.0 or greater | 1.2.3 |
27+
> | Between 1.23.5 and 1.24.0 | 1.1.3 |
28+
> | Below 1.23.5 | 1.0.0 |
2629
2730
## Capabilities and features
2831

2932
OSM provides the following capabilities and features:
3033

31-
- Secure service to service communication by enabling mutual TLS (mTLS).
34+
- Secure service-to-service communication by enabling mutual TLS (mTLS).
3235
- Onboard applications onto the OSM mesh using automatic sidecar injection of Envoy proxy.
3336
- Transparently configure traffic shifting on deployments.
34-
- Define and execute fine grained access control policies for services.
37+
- Define and execute fine-grained access control policies for services.
3538
- Monitor and debug services using observability and insights into application metrics.
36-
- Integrate with external certificate management.
37-
- Integrates with existing ingress solutions such as [NGINX][nginx], [Contour][contour], and [Web Application Routing][web-app-routing]. For more details on how ingress works with OSM, see [Using Ingress to manage external access to services within the cluster][osm-ingress]. For an example on integrating OSM with Contour for ingress, see [Ingress with Contour][osm-contour]. For an example on integrating OSM with ingress controllers that use the `networking.k8s.io/v1` API, such as NGINX, see [Ingress with Kubernetes Nginx Ingress Controller][osm-nginx]. For more details on using Web Application Routing, which automatically integrates with OSM, see [Web Application Routing][web-app-routing].
38-
39-
## Example scenarios
40-
41-
OSM can be used to help your AKS deployments in many different ways. For example:
42-
4339
- Encrypt communications between service endpoints deployed in the cluster.
4440
- Enable traffic authorization of both HTTP/HTTPS and TCP traffic.
4541
- Configure weighted traffic controls between two or more services for A/B testing or canary deployments.
4642
- Collect and view KPIs from application traffic.
43+
- Integrate with external certificate management.
44+
- Integrate with existing ingress solutions such as [NGINX][nginx], [Contour][contour], and [Web Application Routing][web-app-routing].
45+
46+
For more information on ingress and OSM, see [Using ingress to manage external access to services within the cluster][osm-ingress] and [Integrate OSM with Contour for ingress][osm-contour]. For an example of how to integrate OSM with ingress controllers using the `networking.k8s.io/v1` API, see [Ingress with Kubernetes Nginx ingress controller][osm-nginx]. For more information on using Web Application Routing, which automatically integrates with OSM, see [Web Application Routing][web-app-routing].
4747

48-
## Add-on limitations
48+
## Limitations
4949

5050
The OSM AKS add-on has the following limitations:
5151

52-
* [Iptables redirection][ip-tables-redirection] for port IP address and port range exclusion must be enabled using `kubectl patch` after installation. For more details, see [iptables redirection][ip-tables-redirection].
53-
* Pods that are onboarded to the mesh that need access to IMDS, Azure DNS, or the Kubernetes API server must have their IP addresses to the global list of excluded outbound IP ranges using [Global outbound IP range exclusions][global-exclusion].
54-
* At this time, OSM does not support Windows Server containers.
52+
- After installation, you must enable Iptables redirection for port IP address and port range exclusion using `kubectl patch`. For more information, see [iptables redirection][ip-tables-redirection].
53+
- 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][global-exclusion].
54+
- OSM doesn't support Windows Server containers.
5555

5656
## Next steps
5757

5858
After enabling the OSM add-on using the [Azure CLI][osm-azure-cli] or a [Bicep template][osm-bicep], you can:
59-
* [Deploy a sample application][osm-deploy-sample-app]
60-
* [Onboard an existing application][osm-onboard-app]
59+
60+
- [Deploy a sample application][osm-deploy-sample-app]
61+
- [Onboard an existing application][osm-onboard-app]
6162

6263
[ip-tables-redirection]: https://release-v1-2.docs.openservicemesh.io/docs/guides/traffic_management/iptables_redirection/
6364
[global-exclusion]: https://release-v1-2.docs.openservicemesh.io/docs/guides/traffic_management/iptables_redirection/#global-outbound-ip-range-exclusions
6465
[osm-azure-cli]: open-service-mesh-deploy-addon-az-cli.md
6566
[osm-bicep]: open-service-mesh-deploy-addon-bicep.md
6667
[osm-deploy-sample-app]: https://release-v1-2.docs.openservicemesh.io/docs/getting_started/install_apps/
6768
[osm-onboard-app]: https://release-v1-2.docs.openservicemesh.io/docs/guides/app_onboarding/
68-
[ip-tables-redirection]: https://docs.openservicemesh.io/docs/guides/traffic_management/iptables_redirection/
69-
[global-exclusion]: https://docs.openservicemesh.io/docs/guides/traffic_management/iptables_redirection/#global-outbound-ip-range-exclusions
7069
[nginx]: https://github.com/kubernetes/ingress-nginx
7170
[contour]: https://projectcontour.io/
7271
[osm-ingress]: https://release-v1-2.docs.openservicemesh.io/docs/guides/traffic_management/ingress/

articles/aks/servicemesh-about.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,60 +3,59 @@ title: About service meshes
33
description: Obtain an overview of service meshes, supported scenarios, selection criteria, and next steps to explore.
44
author: pgibson
55
ms.topic: article
6-
ms.date: 01/04/2022
6+
ms.date: 04/06/2023
77
ms.author: pgibson
88
---
99

1010
# About service meshes
1111

12-
A service mesh provides capabilities like traffic management, resiliency, policy, security, strong identity, and observability to your workloads. Your application is decoupled from these operational capabilities and the service mesh moves them out of the application layer, and down to the infrastructure layer.
12+
A service mesh is an infrastructure layer in your application that facilitates communication between services. Service meshes provide capabilities like traffic management, resiliency, policy, security, strong identity, and observability to your workloads. Your application is decoupled from these operational capabilities, while the service mesh moves them out of the application layer and down to the infrastructure layer.
1313

1414
## Scenarios
1515

16-
These are some of the scenarios that can be enabled for your workloads when you use a service mesh:
16+
When you use a service mesh, you can enable scenarios such as:
1717

18-
- **Encrypt all traffic in cluster** - Enable mutual TLS between specified services in the cluster. This can be extended to ingress and egress at the network perimeter, and provides a secure by default option with no changes needed for application code and infrastructure.
18+
- **Encrypting all traffic in cluster**: Enable mutual TLS between specified services in the cluster. This can be extended to ingress and egress at the network perimeter and provides a secure-by-default option with no changes needed for application code and infrastructure.
1919

20-
- **Canary and phased rollouts** - Specify conditions for a subset of traffic to be routed to a set of new services in the cluster. On successful test of canary release, remove conditional routing and phase gradually increasing % of all traffic to new service. Eventually all traffic will be directed to new service.
20+
- **Canary and phased rollouts**: Specify conditions for a subset of traffic to be routed to a set of new services in the cluster. On successful test of canary release, remove conditional routing and phase gradually increasing % of all traffic to a new service. Eventually, all traffic will be directed to the new service.
2121

22-
- **Traffic management and manipulation** - Create a policy on a service that will rate limit all traffic to a version of a service from a specific origin, or a policy that applies a retry strategy to classes of failures between specified services. Mirror live traffic to new versions of services during a migration or to debug issues. Inject faults between services in a test environment to test resiliency.
22+
- **Traffic management and manipulation**: Create a policy on a service that rate limits all traffic to a version of a service from a specific origin, or a policy that applies a retry strategy to classes of failures between specified services. Mirror live traffic to new versions of services during a migration or to debug issues. Inject faults between services in a test environment to test resiliency.
2323

24-
- **Observability** - Gain insight into how your services are connected and the traffic that flows between them. Obtain metrics, logs, and traces for all traffic in cluster, including ingress/egress. Add distributed tracing abilities to your applications.
24+
- **Observability**: Gain insight into how your services are connected and the traffic that flows between them. Gather metrics, logs, and traces for all traffic in the cluster, including ingress/egress. Add distributed tracing abilities to applications.
2525

2626
## Selection criteria
2727

28-
Before you select a service mesh, ensure that you understand your requirements and the reasons for installing a service mesh. Ask the following questions:
28+
Before you select a service mesh, make sure you understand your requirements and reasoning for installing a service mesh. Ask the following questions:
2929

30-
- **Is an Ingress Controller sufficient for my needs?** - Sometimes having a capability like A/B testing or traffic splitting at the ingress is sufficient to support the required scenario. Don't add complexity to your environment with no upside.
30+
- **Is an ingress controller sufficient for my needs?**: Sometimes having a capability like A/B testing or traffic splitting at the ingress is sufficient to support the required scenario. Don't add complexity to your environment with no upside.
3131

32-
- **Can my workloads and environment tolerate the additional overheads?** - All the additional components required to support the service mesh require additional resources like CPU and memory. In addition, all the proxies and their associated policy checks add latency to your traffic. If you have workloads that are very sensitive to latency or cannot provide the additional resources to cover the service mesh components, then re-consider.
32+
- **Can my workloads and environment tolerate the additional overheads?**: All the components required to support the service mesh require resources like CPU and memory. All the proxies and their associated policy checks add latency to your traffic. If you have workloads that are very sensitive to latency or can't provide extra resources to cover service mesh components, you should reconsider using a service mesh.
3333

34-
- **Is this adding additional complexity unnecessarily?** - If the reason for installing a service mesh is to gain a capability that is not necessarily critical to the business or operational teams, then consider whether the additional complexity of installation, maintenance, and configuration is worth it.
34+
- **Is this adding unnecessary complexity?**: If you want to install a service mesh to use a capability that isn't critical to the business or operational teams, then consider whether the added complexity of installation, maintenance, and configuration is worth it.
3535

36-
- **Can this be adopted in an incremental approach?** - Some of the service meshes that provide a lot of capabilities can be adopted in a more incremental approach. Install just the components you need to ensure your success. Once you are more confident and additional capabilities are required, then explore those. Resist the urge to install *everything* from the start.
36+
- **Can this be adopted in an incremental approach?**: Some of the service meshes that provide a lot of capabilities can be adopted in a more incremental approach. Install just the components you need to ensure your success. If you later find that more capabilities are required, explore them at a later time. Resist the urge to install *everything* from the start.
3737

3838
## Next steps
3939

4040
Open Service Mesh (OSM) is a supported service mesh that runs Azure Kubernetes Service (AKS):
4141

4242
> [!div class="nextstepaction"]
43-
> [Learn more about OSM ...][osm-about]
43+
> [Learn more about OSM][osm-about]
4444
45-
There are also service meshes provided by open-source projects and third parties that are commonly used with AKS. These open-source and third-party service meshes are not covered by the [AKS support policy][aks-support-policy].
45+
There are also service meshes provided by open-source projects and third parties that are commonly used with AKS. These service meshes aren't covered by the [AKS support policy][aks-support-policy].
4646

4747
- [Istio][istio]
4848
- [Linkerd][linkerd]
4949
- [Consul Connect][consul]
5050

5151
For more details on the service mesh landscape, see [Layer 5's Service Mesh Landscape][service-mesh-landscape].
5252

53-
For more details service mesh standardization efforts:
53+
For more details on service mesh standardization efforts, see:
5454

5555
- [Service Mesh Interface (SMI)][smi]
5656
- [Service Mesh Federation][smf]
5757
- [Service Mesh Performance (SMP)][smp]
5858

59-
6059
<!-- LINKS - external -->
6160
[istio]: https://istio.io/latest/docs/setup/install/
6261
[linkerd]: https://linkerd.io/getting-started/

0 commit comments

Comments
 (0)