Skip to content

Commit b29a3c1

Browse files
authored
Merge pull request #188213 from zr-msft/zr-aks-osm-addon-integrations
aks-addon/osm: add doc that lists and details azure and opensource integrations
2 parents 0e42073 + 6ec7978 commit b29a3c1

File tree

4 files changed

+112
-87
lines changed

4 files changed

+112
-87
lines changed

.openpublishing.redirection.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43785,7 +43785,12 @@
4378543785
},
4378643786
{
4378743787
"source_path_from_root": "/articles/aks/open-service-mesh-open-source-observability.md",
43788-
"redirect_url": "/azure/aks/open-service-mesh-azure-monitor",
43788+
"redirect_url": "/azure/aks/open-service-mesh-integrations",
43789+
"redirect_document_id": false
43790+
},
43791+
{
43792+
"source_path_from_root": "/articles/aks/open-service-mesh-azure-monitor.md",
43793+
"redirect_url": "/azure/aks/open-service-mesh-integrations",
4378943794
"redirect_document_id": false
4379043795
},
4379143796
{

articles/aks/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,8 @@
447447
href: open-service-mesh-deploy-addon-bicep.md
448448
- name: Install the OSM CLI
449449
href: open-service-mesh-binary.md
450-
- name: Configure Azure Monitor
451-
href: open-service-mesh-azure-monitor.md
450+
- name: Open Service Mesh integrations
451+
href: open-service-mesh-integrations.md
452452
- name: Troubleshoot Open Service Mesh
453453
href: open-service-mesh-troubleshoot.md
454454
- name: Uninstall the Open Service Mesh AKS add-on

articles/aks/open-service-mesh-azure-monitor.md

Lines changed: 0 additions & 84 deletions
This file was deleted.
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: Integrations with Open Service Mesh on Azure Kubernetes Service (AKS)
3+
description: Integrations with Open Service Mesh on Azure Kubernetes Service (AKS)
4+
services: container-service
5+
ms.topic: article
6+
ms.date: 03/23/2022
7+
---
8+
9+
# Integrations with Open Service Mesh on Azure Kubernetes Service (AKS)
10+
11+
The Open Service Mesh (OSM) add-on integrates with features provided by Azure as well as open source projects.
12+
13+
> [!IMPORTANT]
14+
> Integrations with open source projects are not covered by the [AKS support policy][aks-support-policy].
15+
16+
## Ingress
17+
18+
Ingress allows for traffic external to the mesh to be routed to services within the mesh. With OSM, you can configure most ingress solutions to work with your mesh, but OSM works best with either [NGINX ingress][osm-nginx] or [Contour ingress][osm-contour]. Open source projects integrating with OSM, including NGINX ingress and Contour ingress, are not covered by the [AKS support policy][aks-support-policy].
19+
20+
Using [Azure Gateway Ingress Controller (AGIC)][agic] for ingress with OSM is not supported and not recommended.
21+
22+
## Metrics observability
23+
24+
Observability of metrics allows you to view the metrics of your mesh and the deployments in your mesh. With OSM, you can use [Prometheus and Grafana][osm-metrics] for metrics observability, but those integrations are not covered by the [AKS support policy][aks-support-policy].
25+
26+
You can also integrate OSM with [Azure Monitor][azure-monitor].
27+
28+
Before you can enable metrics on your mesh to integrate with Azure Monitor:
29+
30+
* Enable Azure Monitor on your cluster
31+
* Enable the OSM add-on for your AKS cluster
32+
* Onboard your application namespaces to the mesh
33+
34+
To enable metrics for a namespace in the mesh use `osm metrics enable`. For example:
35+
36+
```console
37+
osm metrics enable --namespace myappnamespace
38+
```
39+
40+
Create a Configmap in the `kube-system` namespace that enables Azure Monitor to monitor your namespaces. For example, create a `monitor-configmap.yaml` with the following to monitor the `myappnamespace`:
41+
42+
```yaml
43+
kind: ConfigMap
44+
apiVersion: v1
45+
data:
46+
schema-version: v1
47+
config-version: ver1
48+
osm-metric-collection-configuration: |-
49+
# OSM metric collection settings
50+
[osm_metric_collection_configuration]
51+
[osm_metric_collection_configuration.settings]
52+
# Namespaces to monitor
53+
monitor_namespaces = ["myappnamespace"]
54+
metadata:
55+
name: container-azm-ms-osmconfig
56+
namespace: kube-system
57+
```
58+
59+
Apply that ConfigMap using `kubectl apply`.
60+
61+
```console
62+
kubectl apply -f monitor-configmap.yaml
63+
```
64+
65+
To access your metrics from the Azure portal, select your AKS cluster, then select *Logs* under *Monitoring*. From the *Monitoring* section, query the `InsightsMetrics` table to view metrics in the enabled namespaces. For example, the following query shows the *envoy* metrics for the *myappnamespace* namespace.
66+
67+
```sh
68+
InsightsMetrics
69+
| where Name contains "envoy"
70+
| extend t=parse_json(Tags)
71+
| where t.app == "myappnamespace"
72+
```
73+
74+
## Automation and developer tools
75+
76+
OSM can integrate with certain automation projects and developer tooling to help operators and developers build and release applications. For example, OSM integrates with [Flagger][osm-flagger] for progressive delivery and [Dapr][osm-dapr] for building applications. OSM's integration with Flagger and Dapr are not covered by the [AKS support policy][aks-support-policy].
77+
78+
## External authorization
79+
80+
External authorization allows you to offload authorization of HTTP requests to an external service. OSM can use external authorization by integrating with [Open Policy Agent (OPA)][osm-opa], but that integration is not covered by the [AKS support policy][aks-support-policy].
81+
82+
## Certificate management
83+
84+
OSM has several types of certificates it uses to operate on your AKS cluster. OSM includes its own certificate manager called Tresor, which is used by default. Alternatively, OSM allows you to integrate with [Hashicorp Vault][osm-hashi-vault], [Tresor][osm-tresor], and [cert-manager][osm-cert-manager], but those integrations are not covered by the [AKS support policy][aks-support-policy].
85+
86+
87+
88+
[agic]: ../application-gateway/ingress-controller-overview.md
89+
[agic-aks]: ../application-gateway/tutorial-ingress-controller-add-on-existing.md
90+
[aks-support-policy]: support-policies.md
91+
[azure-monitor]: ../azure-monitor/overview.md
92+
[nginx]: https://github.com/kubernetes/ingress-nginx
93+
[osm-ingress-policy]: https://release-v1-0.docs.openservicemesh.io/docs/demos/ingress_k8s_nginx/#http-ingress
94+
[osm-nginx]: https://release-v1-0.docs.openservicemesh.io/docs/demos/ingress_k8s_nginx/
95+
[osm-contour]: https://release-v1-0.docs.openservicemesh.io/docs/guides/traffic_management/ingress/#1-using-contour-ingress-controller-and-gateway
96+
[osm-metrics]: https://release-v1-0.docs.openservicemesh.io/docs/guides/observability/metrics/
97+
[osm-dapr]: https://release-v1-0.docs.openservicemesh.io/docs/guides/integrations/dapr/
98+
[osm-flagger]: https://release-v1-0.docs.openservicemesh.io/docs/guides/integrations/flagger/
99+
[osm-opa]: https://release-v1-0.docs.openservicemesh.io/docs/guides/integrations/external_auth_opa/
100+
[osm-hashi-vault]: https://release-v1-0.docs.openservicemesh.io/docs/guides/certificates/#using-hashicorp-vault
101+
[osm-cert-manager]: https://release-v1-0.docs.openservicemesh.io/docs/guides/certificates/#using-cert-manager
102+
[open-source-integrations]: open-service-mesh-integrations.md#additional-open-source-integrations
103+
[osm-traffic-management-example]: https://github.com/MicrosoftDocs/azure-docs/pull/81085/files
104+
[osm-tresor]: https://release-v1-0.docs.openservicemesh.io/docs/guides/certificates/#using-osms-tresor-certificate-issuer

0 commit comments

Comments
 (0)