Skip to content

Commit bb9aa32

Browse files
committed
feedback from Poornima
1 parent e46c2be commit bb9aa32

File tree

3 files changed

+53
-20
lines changed

3 files changed

+53
-20
lines changed

articles/aks/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,8 @@
402402
href: open-service-mesh-troubleshoot.md
403403
- name: Disable OSM
404404
href: open-service-mesh-disable-add-on.md
405+
- name: Use cluster extensions (preview)
406+
href: cluster-extensions.md
405407
- name: DevOps
406408
items:
407409
- name: Use Ansible to create AKS clusters

articles/aks/cluster-extensions.md

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
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)
44
ms.service: container-service
55
ms.date: 10/13/2021
66
ms.topic: article
7-
author: ponatara
8-
ms.author: ponatara
7+
author: nickomang
8+
ms.author: nickoman
99
---
1010

1111
# 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
7171
7272
---
7373
74-
### Register the `Extensions` and `AKS-ExtensionManager` preview features
74+
### Register the `AKS-ExtensionManager` preview features
7575
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.
7777
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:
7979
8080
```azurecli-interactive
81-
az feature register --namespace "Microsoft.KubernetesConfiguration" --name "Extensions"
8281
az feature register --namespace "Microsoft.ContainerService" --name "AKS-ExtensionManager"
8382
```
8483

8584
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:
8685

8786
```azurecli-interactive
88-
az feature list -o table --query "[?contains(name, 'Microsoft.KubernetesConfiguration/Extensions')].{Name:name,State:properties.state}"
8987
az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/AKS-ExtensionManager')].{Name:name,State:properties.state}"
9088
```
9189

@@ -98,6 +96,9 @@ az provider register --namespace Microsoft.ContainerService
9896

9997
### Setup the Azure CLI extension for cluster extensions
10098

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+
101102
You will also need the `k8s-extension` Azure CLI extension. Install this by running the following commands:
102103

103104
```azurecli-interactive
@@ -115,19 +116,27 @@ az extension update --name k8s-extension
115116
>[!NOTE]
116117
> 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.
117118
119+
<!--
118120
| Extension | Description |
119121
| --------- | ----------- |
120-
| [Azure Machine Learning](TBD) |TBD|
122+
-->
123+
124+
Currently, no extensions are available.
121125

122-
## Supported Regions
126+
## Supported Regions and Kubernetes versions
123127

124128
Cluster extensions can be used on AKS clusters in the regions listed in [Azure Arc enabled Kubernetes region support][arc-k8s-regions].
125129

126130
>[!NOTE]
127131
> The list of supported regions will continue to expand as we rollout this functionality to more regions where AKS is available.
128132
133+
For supported Kubernetes versions, refer to the corresponding documentation for each extension.
134+
129135
## Usage of cluster extensions
130136

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+
131140
### Create extensions instance
132141

133142
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:
@@ -145,7 +154,6 @@ az k8s-extension create --name aml-compute --extension-type Microsoft.AzureML.Ku
145154
|----------------|------------|
146155
| `--name` | Name of the extension instance |
147156
| `--extension-type` | The type of extension you want to install on the cluster. For example: Microsoft.AzureML.Kubernetes |
148-
| `--scope` | Scope of installation for the extension - `cluster` or `namespace` |
149157
| `--cluster-name` | Name of the AKS cluster on which the extension instance has to be created |
150158
| `--resource-group` | The resource group containing the AKS cluster |
151159
| `--cluster-type` | The cluster type on which the extension instance has to be created. Specify `managedClusters` as it maps to AKS clusters|
@@ -160,6 +168,7 @@ az k8s-extension create --name aml-compute --extension-type Microsoft.AzureML.Ku
160168
| `--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. |
161169
| `--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. |
162170
| `--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` |
163172
| `--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`. |
164173
| `--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`. |
165174
| `--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
182191

183192
### Update extension instance
184193

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+
185197
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:
186198

187199
```azurecli
@@ -194,12 +206,10 @@ az k8s-extension update --name azureml-arc --extension-type Microsoft.AzureML.Ku
194206
|----------------|------------|
195207
| `--name` | Name of the extension instance |
196208
| `--extension-type` | The type of extension you want to install on the cluster. For example: Microsoft.AzureML.Kubernetes |
197-
| `--scope` | Scope of installation for the extension - `cluster` or `namespace` |
198209
| `--cluster-name` | Name of the AKS cluster on which the extension instance has to be created |
199210
| `--resource-group` | The resource group containing the AKS cluster |
200211
| `--cluster-type` | The cluster type on which the extension instance has to be created. Specify `managedClusters` as it maps to AKS clusters|
201212

202-
203213
**Optional parameters**
204214

205215
| Parameter name | Description |
@@ -210,11 +220,9 @@ az k8s-extension update --name azureml-arc --extension-type Microsoft.AzureML.Ku
210220
| `--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. |
211221
| `--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. |
212222
| `--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` |
213224
| `--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`. |
214225

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-
218226
### Delete extension instance
219227

220228
Delete an extension instance on a cluster with `k8s-extension delete`, passing in values for the mandatory parameters.
@@ -226,21 +234,24 @@ az k8s-extension delete --name azuremonitor-containers --cluster-name <clusterNa
226234
>[!NOTE]
227235
> 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.
228236
237+
<!-- when extensions are available, add this section
229238
## Next steps
230239
231240
Learn more about the cluster extensions currently available for AKS:
232241
233242
> [!div class="nextstepaction"]
234-
> [Azure Machine Learning][azure-ml-overview]
243+
244+
-->
235245

236246
<!-- LINKS -->
237247
<!-- INTERNAL -->
238248
[arc-k8s-extensions]: ../azure-arc/kubernetes/conceptual-extensions.md
239-
[arc-k8s-regions]: https://azure.microsoft.com/global-infrastructure/services/?products=azure-arc&regions=all
240249
[az-feature-register]: /cli/azure/feature#az_feature_register
241250
[az-feature-list]: /cli/azure/feature#az_feature_list
242251
[az-provider-register]: /cli/azure/provider#az_provider_register
243252
[azure-ml-overview]: <!-- need link -->
244-
[dapr-overview]: ./dapr.md <!-- Not yet live -->
253+
[dapr-overview]: <!-- Not yet live -->
254+
[k8s-extension-reference]: /cli/azure/k8s-extension
245255

246-
<!-- EXTERNAL -->
256+
<!-- EXTERNAL -->
257+
[arc-k8s-regions]: https://azure.microsoft.com/global-infrastructure/services/?products=azure-arc&regions=all

articles/aks/limit-egress-traffic.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,26 @@ The following FQDN / application rules are required for AKS clusters that have t
206206
| **`data.policy.azure.us`** | **`HTTPS:443`** | This address is used to pull the Kubernetes policies and to report cluster compliance status to policy service. |
207207
| **`store.policy.azure.us`** | **`HTTPS:443`** | This address is used to pull the Gatekeeper artifacts of built-in policies. |
208208

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.
214+
215+
| FQDN | Port | Use |
216+
|-----------------------------------------------|-----------|----------|
217+
| **`<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.
223+
224+
| FQDN | Port | Use |
225+
|-----------------------------------------------|-----------|----------|
226+
| **`<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+
209229
## Restrict egress traffic using Azure firewall
210230

211231
Azure Firewall provides an Azure Kubernetes Service (`AzureKubernetesService`) FQDN Tag to simplify this configuration.

0 commit comments

Comments
 (0)