Skip to content

Commit a624ae1

Browse files
Merge pull request #233389 from JnHs/jh-arck8s-extupd
add update info
2 parents 914727b + 1fbe1ca commit a624ae1

File tree

1 file changed

+59
-4
lines changed

1 file changed

+59
-4
lines changed

articles/azure-arc/kubernetes/extensions.md

Lines changed: 59 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Deploy and manage Azure Arc-enabled Kubernetes cluster extensions"
33
ms.custom: event-tier1-build-2022, ignite-2022
4-
ms.date: 03/08/2023
4+
ms.date: 04/14/2023
55
ms.topic: how-to
66
description: "Create and manage extension instances on Azure Arc-enabled Kubernetes clusters."
77
---
@@ -34,7 +34,7 @@ Before you begin, read the [conceptual overview of Arc-enabled Kubernetes cluste
3434
* [Upgrade your agents](agent-upgrade.md#manually-upgrade-agents) to the latest version.
3535
3636
> [!NOTE]
37-
> Installing Azure Arc extensions on [AKS hybrid clusters provisioned from Azure](#aks-hybrid-clusters-provisioned-from-azure-preview) is currently in preview, with support for the Azure Arc-enabled Open Service Mesh, Azure Key Vault Secrets Provider, Flux (GitOps) and Microsoft Defender for Cloud extensions.
37+
> Installing Azure Arc extensions on [AKS hybrid clusters provisioned from Azure](extensions.md#aks-hybrid-clusters-provisioned-from-azure-preview) is currently in preview, with support for the Azure Arc-enabled Open Service Mesh, Azure Key Vault Secrets Provider, Flux (GitOps) and Microsoft Defender for Cloud extensions.
3838
3939
## Create extension instance
4040
@@ -107,6 +107,12 @@ The following parameters are required when using `az k8s-extension create` to cr
107107

108108
Use one or more of these optional parameters as needed for your scenarios, along with the required parameters.
109109

110+
> [!NOTE]
111+
> You can choose to automatically upgrade your extension instance to the latest minor and patch versions by setting `auto-upgrade-minor-version` to `true`, or you can instead set the version of the extension instance manually using the `--version` parameter. We recommend enabling automatic upgrades for minor and patch versions so that you always have the latest security patches and capabilities.
112+
>
113+
> Because major version upgrades may include breaking changes, automatic upgrades for new major versions of an extension instance aren't supported. You can choose when to [manually upgrade extension instances](#upgrade-extension-instance) to a new major version.
114+
115+
110116
| Parameter name | Description |
111117
|--------------|------------|
112118
| `--auto-upgrade-minor-version` | Boolean property that determines whether the extension minor version is automatically upgraded. The default setting is `true`. If this parameter is set to `true`, you can't set the `version` parameter, as the version will be dynamically updated. If set to `false`, the extension won't be automatically upgraded, even for patch versions. |
@@ -116,7 +122,7 @@ Use one or more of these optional parameters as needed for your scenarios, along
116122
| `--configuration-protected-settings` | Settings that aren't retrievable using `GET` API calls or `az k8s-extension show` commands. Typically used to pass in sensitive settings. These are passed in as space-separated `key=value` pairs after the parameter name. If this parameter is used in the command, then `--configuration-protected-settings-file` can't be used in the same command. |
117123
| `--configuration-protected-settings-file` | Path to a JSON file with `key=value` pairs to be used for passing sensitive settings into the extension. If this parameter is used in the command, then `--configuration-protected-settings` can't be used in the same command. |
118124
| `--release-namespace` | This parameter indicates the namespace within which the release will be created. Only relevant if `scope` is set to `cluster`. |
119-
| `--release-train` | Extension authors can publish versions in different release trains such as `Stable`, `Preview`, etc. If this parameter isn't set explicitly, `Stable` is used as default. This parameter can't be used when `--auto-upgrade-minor-version` is set to `false`. |
125+
| `--release-train` | Extension authors can publish versions in different release trains such as `Stable`, `Preview`, etc. If this parameter isn't set explicitly, `Stable` is used as default. |
120126
| `--target-namespace` | Indicates the namespace within which the release will be created. Permission of the system account created for this extension instance will be restricted to this namespace. Only relevant if `scope` is set to `namespace`. |
121127

122128
## Show extension details
@@ -227,9 +233,58 @@ az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGro
227233
]
228234
```
229235

236+
## Update extension instance
237+
238+
> [!NOTE]
239+
> Refer to documentation for the specific extension type to understand the specific settings in `--configuration-settings` and `--configuration-protected-settings` that are able to be updated. For `--configuration-protected-settings`, all settings are expected to be provided, even if only one setting is being updated. If any of these settings are omitted, those settings will be considered obsolete and deleted.
240+
241+
To update an existing extension instance, use `k8s-extension update`, passing in values for the mandatory and optional parameters. The mandatory and optional parameters are slightly different than those used to create an extension instance.
242+
243+
This example updates the `auto-upgrade-minor-version` setting for an Azure Machine Learning extension instance to `true`:
244+
245+
```azurecli
246+
az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --auto-upgrade-minor-version true --cluster-type managedClusters
247+
```
248+
249+
### Required parameters for update
250+
251+
| Parameter name | Description |
252+
|----------------|------------|
253+
| `--name` | Name of the extension instance |
254+
| `--cluster-name` | Name of the cluster on which the extension instance has to be created |
255+
| `--resource-group` | The resource group containing the cluster |
256+
| `--cluster-type` | The cluster type on which the extension instance has to be created. For Azure Arc-enabled Kubernetes clusters, use `connectedClusters`. For AKS clusters, use `managedClusters`.|
257+
258+
### Optional parameters for update
259+
260+
| Parameter name | Description |
261+
|--------------|------------|
262+
| `--auto-upgrade-minor-version` | Boolean property that specifies whether the extension minor version is automatically upgraded. The default setting is `true`. If this parameter is set to true, you can't set the `version` parameter, as the version will be dynamically updated. If set to `false`, the extension won't be automatically upgraded, even for patch versions. |
263+
| `--version` | Version of the extension to be installed (specific version to pin the extension instance to). Must not be supplied if auto-upgrade-minor-version is set to `true`. |
264+
| `--configuration-settings` | Settings that can be passed into the extension to control its functionality.These are passed in as space-separated `key=value` pairs after the parameter name. If this parameter is used in the command, then `--configuration-settings-file` can't be used in the same command. Only the settings that require an update need to be provided. The provided settings will be replaced with the specified values. |
265+
| `--configuration-settings-file` | Path to the JSON file with `key=value` pairs to be used for passing in configuration settings to the extension. If this parameter is used in the command, then `--configuration-settings` can't be used in the same command. |
266+
| `--configuration-protected-settings` | Settings that aren't retrievable using `GET` API calls or `az k8s-extension show` commands. Typically used to pass in sensitive settings. These are passed in as space-separated `key=value` pairs after the parameter name. If this parameter is used in the command, then `--configuration-protected-settings-file` can't be used in the same command. When you update a protected setting, all of the protected settings are expected to be specified. If any of these settings are omitted, those settings will be considered obsolete and deleted. |
267+
| `--configuration-protected-settings-file` | Path to a JSON file with `key=value` pairs to be used for passing in sensitive settings to the extension. If this parameter is used in the command, then `--configuration-protected-settings` can't be used in the same command. |
268+
| `--scope` | Scope of installation for the extension - `cluster` or `namespace`. |
269+
| `--release-train` | Extension authors can publish versions in different release trains such as `Stable`, `Preview`, etc. If this parameter isn't set explicitly, `Stable` is used as default. |
270+
271+
## Upgrade extension instance
272+
273+
As noted earlier, if you set `auto-upgrade-minor-version` to true, the extension will automatically be upgraded when a new minor version is released. For most scenarios, we recommend enabling automatic upgrades. If you set `auto-upgrade-minor-version` to false, you'll have to upgrade the extension manually if you want a newer version.
274+
275+
Manual upgrades are also required to get a new major instance of an extension. You can choose when to upgrade in order to avoid any unexpected breaking changes with major version upgrades.
276+
277+
To manually upgrade an extension instance, use `k8s-extension update` and set the `version` parameter to specify a version.
278+
279+
This example updates an Azure Machine Learning extension instance to version x.y.z:
280+
281+
```azurecli
282+
az k8s-extension update --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters --name azureml --version x.y.z
283+
```
284+
230285
## Delete extension instance
231286

232-
To delete an extension instance on a cluster, use `k8s-extension delete`, passing in values for the mandatory parameters.
287+
To delete an extension instance on a cluster, use `k8s-extension delete`, passing in values for the mandatory parameters:
233288

234289
```azurecli
235290
az k8s-extension delete --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters

0 commit comments

Comments
 (0)