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/aks/cluster-extensions.md
+31-20Lines changed: 31 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
2
title: Cluster extensions for Azure Kubernetes Service (AKS) (preview)
3
-
description: Learn how to deploy and manage the lifecycle of extensions on Azure Kubernetes Service
3
+
description: Learn how to deploy and manage the lifecycle of extensions on Azure Kubernetes Service (AKS)
4
4
ms.service: container-service
5
5
ms.date: 10/13/2021
6
6
ms.topic: article
7
-
author: ponatara
8
-
ms.author: ponatara
7
+
author: nickomang
8
+
ms.author: nickoman
9
9
---
10
10
11
11
# Deploy and manage cluster extensions for Azure Kubernetes Service (AKS) (preview)
@@ -71,21 +71,19 @@ A conceptual overview of this feature is available in [Cluster extensions - Azur
71
71
72
72
---
73
73
74
-
### Register the `Extensions` and `AKS-ExtensionManager` preview features
74
+
### Register the `AKS-ExtensionManager` preview features
75
75
76
-
To create an AKS cluster that can use cluster extensions, you must enable the `Extensions` and `AKS-ExtensionManager` feature flags on your subscription.
76
+
To create an AKS cluster that can use cluster extensions, you must enable the `AKS-ExtensionManager` feature flag on your subscription.
77
77
78
-
Register the `Extensions` and `AKS-ExtensionManager` feature flags by using the [az feature register][az-feature-register] command, as shown in the following example:
78
+
Register the `AKS-ExtensionManager` feature flag by using the [az feature register][az-feature-register] command, as shown in the following example:
79
79
80
80
```azurecli-interactive
81
-
az feature register --namespace "Microsoft.KubernetesConfiguration" --name "Extensions"
82
81
az feature register --namespace "Microsoft.ContainerService" --name "AKS-ExtensionManager"
83
82
```
84
83
85
84
It takes a few minutes for the status to show *Registered*. Verify the registration status by using the [az feature list][az-feature-list] command:
86
85
87
86
```azurecli-interactive
88
-
az feature list -o table --query "[?contains(name, 'Microsoft.KubernetesConfiguration/Extensions')].{Name:name,State:properties.state}"
89
87
az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/AKS-ExtensionManager')].{Name:name,State:properties.state}"
90
88
```
91
89
@@ -98,6 +96,9 @@ az provider register --namespace Microsoft.ContainerService
98
96
99
97
### Setup the Azure CLI extension for cluster extensions
100
98
99
+
> [!NOTE]
100
+
> The minimum supported version for the `k8s-extension` Azure CLI extension is `1.0.0`. If you are unsure what version you have installed, run `az extension show --name k8s-extension` and look for the `version` field.
101
+
101
102
You will also need the `k8s-extension` Azure CLI extension. Install this by running the following commands:
102
103
103
104
```azurecli-interactive
@@ -115,19 +116,27 @@ az extension update --name k8s-extension
115
116
>[!NOTE]
116
117
> Cluster extensions provides a platform for different extensions to be installed and managed on an AKS cluster. If you are facing issues while using any of these extensions, please open a support ticket with the respective service.
117
118
119
+
<!--
118
120
| Extension | Description |
119
121
| --------- | ----------- |
120
-
|[Azure Machine Learning](TBD)|TBD|
122
+
-->
123
+
124
+
Currently, no extensions are available.
121
125
122
-
## Supported Regions
126
+
## Supported Regions and Kubernetes versions
123
127
124
128
Cluster extensions can be used on AKS clusters in the regions listed in [Azure Arc enabled Kubernetes region support][arc-k8s-regions].
125
129
126
130
>[!NOTE]
127
131
> The list of supported regions will continue to expand as we rollout this functionality to more regions where AKS is available.
128
132
133
+
For supported Kubernetes versions, refer to the corresponding documentation for each extension.
134
+
129
135
## Usage of cluster extensions
130
136
137
+
> [!NOTE]
138
+
> The samples provided in this article are not complete, and are only meant to showcase functionality. For a comprehensive list of commands and their parameters, please see the [az k8s-extension CLI reference][k8s-extension-reference].
139
+
131
140
### Create extensions instance
132
141
133
142
Create a new extension instance with `k8s-extension create`, passing in values for the mandatory parameters. The below command creates an Azure Machine Learning extension instance on your AKS cluster:
|`--configuration-settings-file`| Path to the JSON file having 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. |
161
169
|`--configuration-protected-settings`| These settings are not retrievable using `GET` API calls or `az k8s-extension show` commands, and are thus used to pass in sensitive settings. They are to be 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. |
162
170
|`--configuration-protected-settings-file`| Path to the JSON file having 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. |
171
+
|`--scope`| Scope of installation for the extension - `cluster` or `namespace`|
163
172
|`--release-namespace`| This parameter indicates the namespace within which the release is to be created. This parameter is only relevant if `scope` parameter is set to `cluster`. |
164
173
|`--release-train`| Extension authors can publish versions in different release trains such as `Stable`, `Preview`, etc. If this parameter is not set explicitly, `Stable` is used as default. This parameter can't be used when `autoUpgradeMinorVersion` parameter is set to `false`. |
165
174
|`--target-namespace`| This parameter 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. This parameter is only relevant if the `scope` parameter is set to `namespace`. |
@@ -182,6 +191,9 @@ az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGro
182
191
183
192
### Update extension instance
184
193
194
+
> [!NOTE]
195
+
> Refer to documentation of the extension type (Eg: Azure ML) to learn about the specific settings under ConfigurationSetting and ConfigurationProtectedSettings that are allowed to be updated. For ConfigurationProtectedSettings, all settings are expected to be provided during an update of a single setting. If some settings are omitted, those settings would be considered obsolete and deleted.
196
+
185
197
Update an existing extension instance with `k8s-extension update`, passing in values for the mandatory parameters. The below command updates the auto-upgrade setting for an Azure Machine Learning extension instance:
|`--configuration-settings-file`| Path to the JSON file having 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. |
211
221
|`--configuration-protected-settings`| These settings are not retrievable using `GET` API calls or `az k8s-extension show` commands, and are thus used to pass in sensitive settings. When updating a setting, all settings are expected to be provided. If some settings are omitted, those settings would be considered obsolete and deleted. They are to be 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. |
212
222
|`--configuration-protected-settings-file`| Path to the JSON file having 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. |
223
+
|`--scope`| Scope of installation for the extension - `cluster` or `namespace`|
213
224
|`--release-train`| Extension authors can publish versions in different release trains such as `Stable`, `Preview`, etc. If this parameter is not set explicitly, `Stable` is used as default. This parameter can't be used when `autoUpgradeMinorVersion` parameter is set to `false`. |
214
225
215
-
>[!NOTE]
216
-
> Refer to documentation of the extension type (Eg: Azure ML) to learn about the specific settings under ConfigurationSetting and ConfigurationProtectedSettings that are allowed to be updated. For ConfigurationProtectedSettings, all settings are expected to be provided during an update of a single setting. If some settings are omitted, those settings would be considered obsolete and deleted.
217
-
218
226
### Delete extension instance
219
227
220
228
Delete an extension instance on a cluster with `k8s-extension delete`, passing in values for the mandatory parameters.
> The Azure resource representing this extension gets deleted immediately. The Helm release on the cluster associated with this extension is only deleted when the agents running on the Kubernetes cluster have network connectivity and can reach out to Azure services again to fetch the desired state.
228
236
237
+
<!-- when extensions are available, add this section
229
238
## Next steps
230
239
231
240
Learn more about the cluster extensions currently available for AKS:
Copy file name to clipboardExpand all lines: articles/aks/limit-egress-traffic.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -206,6 +206,26 @@ The following FQDN / application rules are required for AKS clusters that have t
206
206
|**`data.policy.azure.us`**|**`HTTPS:443`**| This address is used to pull the Kubernetes policies and to report cluster compliance status to policy service. |
207
207
|**`store.policy.azure.us`**|**`HTTPS:443`**| This address is used to pull the Gatekeeper artifacts of built-in policies. |
208
208
209
+
## Cluster Extensions
210
+
211
+
### Required FQDN / application rules
212
+
213
+
The following FQDN / application rules are required for using cluster extensions on AKS clusters.
|**`<region>.dp.kubernetesconfiguration.azure.com`**|**`HTTPS:443`**| This address is used to fetch configuration information from the Cluster Extensions service and report extension status to the service.|
218
+
|**`mcr.microsoft.com, *.data.mcr.microsoft.com`**|**`HTTPS:443`**| This address is required to pull container images for installing cluster extension agents on AKS cluster.|
219
+
220
+
#### Azure US Government Required FQDN / application rules
221
+
222
+
The following FQDN / application rules are required for using cluster extensions on AKS clusters.
|**`<region>.dp.kubernetesconfiguration.azure.us`**|**`HTTPS:443`**| This address is used to fetch configuration information from the Cluster Extensions service and report extension status to the service. |
227
+
|**`mcr.microsoft.com, *.data.mcr.microsoft.com`**|**`HTTPS:443`**| This address is required to pull container images for installing cluster extension agents on AKS cluster.|
228
+
209
229
## Restrict egress traffic using Azure firewall
210
230
211
231
Azure Firewall provides an Azure Kubernetes Service (`AzureKubernetesService`) FQDN Tag to simplify this configuration.
0 commit comments