You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-arc/kubernetes/tutorial-arc-enabled-open-service-mesh.md
+44-7Lines changed: 44 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ OSM runs an Envoy-based control plane on Kubernetes, can be configured with [SMI
37
37
- Ensure you have met all the common prerequisites for cluster extensions listed [here](extensions.md#prerequisites).
38
38
- Use az k8s-extension CLI version >= v0.4.0
39
39
40
-
## Basic Installation of Azure Arc-enabled OSM on an Azure Arc-enabled Kubernetes Cluster
40
+
## Basic installation of Azure Arc-enabled OSM
41
41
42
42
The following steps assume that you already have a cluster with a supported Kubernetes distribution connected to Azure Arc.
43
43
Ensure that your KUBECONFIG environment variable points to the kubeconfig of the Arc-enabled Kubernetes cluster.
@@ -89,7 +89,7 @@ You should see output similar to the output shown below. It may take 3-5 minutes
89
89
}
90
90
```
91
91
92
-
## Custom Installations of Azure Arc-enabled OSM
92
+
## Custom installations of Azure Arc-enabled OSM
93
93
The following sections describe certain custom installations of Azure Arc-enabled OSM. Custom installations require setting
94
94
values of OSM by in a JSON file and passing them into `k8s-extension create` CLI command as described below.
95
95
@@ -113,15 +113,52 @@ It may take 3-5 minutes for the actual OSM helm chart to get deployed to the clu
113
113
114
114
To ensure that the privileged init container setting is not reverted to the default, pass in the "osm.osm.enablePrivilegedInitContainer" : "true" configuration setting to all subsequent az k8s-extension create commands.
115
115
116
+
### Enable High Availability features on installation
117
+
OSM's control plane components are built with High Availability and Fault Tolerance in mind. This section describes how to
118
+
enable Horizontal Pod Autoscaling (HPA) and Pod Disruption Budget (PDB) during installation. Read more on the design
119
+
considerations of High Availability on OSM [here](https://openservicemesh.io/docs/guides/ha_scale/high_availability/).
120
+
121
+
#### Horizontal Pod Autoscaling (HPA)
122
+
HPA automatically scales up or down control plane pods based on the average target CPU utilization (%) and average target
123
+
memory utilization (%) defined by the user. To enable HPA and set applicable values on OSM control plane pods during installation, create or
124
+
append to your existing JSON settings file as below, repeating the key/value pairs for each control plane pod
125
+
(`osmController`, `injector`) that you want to enable HPA on.
Now, [install OSM with custom values](#setting-values-during-osm-installation).
152
+
116
153
### Install OSM with cert-manager for Certificate Management
117
154
[cert-manager](https://cert-manager.io/) is a provider that can be used for issuing signed certificates to OSM without
118
155
the need for storing private keys in Kubernetes. Refer to OSM's [cert-manager documentation](https://release-v0-11.docs.openservicemesh.io/docs/guides/certificates/)
119
156
and [demo](https://docs.openservicemesh.io/docs/demos/cert-manager_integration/) to learn more.
120
157
> [!NOTE]
121
158
> Use the commands provided in the OSM GitHub documentation with caution. Ensure that you use the correct namespace name `arc-osm-system`.
122
159
123
-
To install OSM with cert-manager as the certificate provider, create a JSON file with the `certificateProvider.kind`value set to
124
-
cert-manager as shown below. If you would like to change from default cert-manager values specified in OSM documentation,
160
+
To install OSM with cert-manager as the certificate provider, create or append to your existing JSON settings file the `certificateProvider.kind`
161
+
value set to cert-manager as shown below. If you would like to change from default cert-manager values specified in OSM documentation,
125
162
also include and update the subsequent `certmanager.issuer` lines.
126
163
127
164
```json
@@ -144,7 +181,7 @@ and [demo](https://docs.openservicemesh.io/docs/demos/ingress_contour/) to learn
144
181
> [!NOTE]
145
182
> Use the commands provided in the OSM GitHub documentation with caution. Ensure that you use the correct namespace name `arc-osm-system`.
146
183
147
-
To set required values for configuring Contour during OSM installation, create the following JSON file:
184
+
To set required values for configuring Contour during OSM installation, append the following to your JSON settings file:
148
185
```json
149
186
{
150
187
"osm.osm.osmNamespace" : "arc-osm-system",
@@ -157,7 +194,7 @@ To set required values for configuring Contour during OSM installation, create t
157
194
Now, [install OSM with custom values](#setting-values-during-osm-installation).
158
195
159
196
### Setting values during OSM installation
160
-
Values that need to be set during OSM installation need to be saved to a JSON file and passed in through the Azure CLI
197
+
Any values that need to be set during OSM installation need to be saved to a single JSON file and passed in through the Azure CLI
161
198
install command.
162
199
163
200
Once you have created a JSON file with applicable values as described in above custom installation sections, set the
@@ -174,7 +211,7 @@ Run the `az k8s-extension create` command to create the OSM extension, passing i
174
211
175
212
## Install Azure Arc-enabled OSM using ARM template
176
213
177
-
After connecting your cluster to Azure Arc, create a json file with the following format, making sure to update the \<cluster-name\> and \<osm-arc-version\> values:
214
+
After connecting your cluster to Azure Arc, create a JSON file with the following format, making sure to update the \<cluster-name\> and \<osm-arc-version\> values:
0 commit comments