Skip to content

Commit e0efdf8

Browse files
authored
Merge pull request #185241 from Zhong-J/master
doris
2 parents fe2cc99 + f96099e commit e0efdf8

File tree

2 files changed

+23
-58
lines changed

2 files changed

+23
-58
lines changed

articles/machine-learning/how-to-access-azureml-behind-firewall.md

Lines changed: 11 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -386,52 +386,21 @@ The hosts in this section are used to install R packages, and are required durin
386386
| ---- | ---- |
387387
| **cloud.r-project.org** | Used when installing CRAN packages. |
388388

389-
### Azure Kubernetes Services
390-
391-
When using Azure Kubernetes Service with Azure Machine Learning, the following traffic must be allowed:
392-
393-
* General inbound/outbound requirements for AKS as described in the [Restrict egress traffic in Azure Kubernetes Service](../aks/limit-egress-traffic.md) article.
394-
* __Outbound__ to mcr.microsoft.com.
395-
* When deploying a model to an AKS cluster, use the guidance in the [Deploy ML models to Azure Kubernetes Service](how-to-deploy-azure-kubernetes-service.md#connectivity) article.
396-
397389
### Azure Arc enabled Kubernetes <a id="arc-kubernetes"></a>
398390

399-
Azure Arc enabled Kubernetes clusters depend on Azure Arc connections. Make sure to meet [Azure Arc network requirements](../azure-arc/kubernetes/quickstart-connect-cluster.md?tabs=azure-cli#meet-network-requirements).
400-
401-
The hosts in this section are used to deploy the Azure Machine Learning extension to Kubernetes clusters and submit training and inferencing workloads to the clusters.
391+
Clusters running behind an outbound proxy server or firewall need additional network configurations. Fulfill [Azure Arc network requirements](../azure-arc/kubernetes/quickstart-connect-cluster.md?tabs=azure-cli#meet-network-requirements) needed by Azure Arc agents. Besides that, the following outbound URLs are required for Azure Machine Learning,
402392

403-
**Azure Machine Learning extension deployment**
393+
| Outbound Endpoint| Port | Description|Training |Inference |
394+
|--|--|--|--|--|
395+
| *.kusto.windows.net,<br> *.table.core.windows.net, <br>*.queue.core.windows.net | https:443 | Required to upload system logs to Kusto. |**&check;**|**&check;**|
396+
| *.azurecr.io | https:443 | Azure container registry, required to pull docker images used for machine learning workloads.|**&check;**|**&check;**|
397+
| *.blob.core.windows.net | https:443 | Azure blob storage, required to fetch machine learning project scripts,data or models, and upload job logs/outputs.|**&check;**|**&check;**|
398+
| *.workspace.\<region\>.api.azureml.ms ,<br> \<region\>.experiments.azureml.net, <br> \<region\>.api.azureml.ms | https:443 | Azure mahince learning service API.|**&check;**|**&check;**|
399+
| pypi.org | https:443 | Python package index, to install pip packages used for training job environment initialization.|**&check;**|N/A|
400+
| archive.ubuntu.com, <br> security.ubuntu.com,<br> ppa.launchpad.net | http:80 | Required to download the necessary security patches. |**&check;**|N/A|
404401

405-
Enable outbound access to the following endpoints when deploying the Azure Machine Learning extension to the cluster.
406-
407-
| Destination Endpoint| Port | Use |
408-
|--|--|--|
409-
| *.data.mcr.microsoft.com| https:443 | Required for MCR storage backed by the Azure content delivery network (CDN). |
410-
| quay.io, *.quay.io | https:443 | Quay.io registry, required to pull container images for AML extension components |
411-
| gcr.io| https:443 | Google cloud repository, required to pull container images for AML extension components |
412-
| storage.googleapis.com | https:443 | Google cloud storage, gcr images are hosted on |
413-
| registry-1.docker.io, production.cloudflare.docker.com | https:443 | Docker hub registry, required to pull container images for AML extension components |
414-
| auth.docker.io| https:443 | Docker repository authentication, required to access docker hub registry |
415-
| *.kusto.windows.net, *.table.core.windows.net, *.queue.core.windows.net | https:443 | Required to upload and analyze system logs in Kusto |
416-
417-
**Training workloads only**
418-
419-
Enable outbound access to the following endpoints to submit training workloads to the cluster.
420-
421-
| Destination Endpoint| Port | Use |
422-
|--|--|--|
423-
| pypi.org | https:443 | Python package index, to install pip packages used to initialize the job environment |
424-
| archive.ubuntu.com, security.ubuntu.com, ppa.launchpad.net | http:80 | This address lets the init container download the required security patches and updates |
425-
426-
**Training and inferencing workloads**
427-
428-
In addition to the endpoints for training workloads, enable outbound access for the following endpoints to submit training and inferencing workloads.
429-
430-
| Destination Endpoint| Port | Use |
431-
|--|--|--|
432-
| *.azurecr.io | https:443 | Azure container registry, required to pull container images to host training or inference jobs|
433-
| *.blob.core.windows.net | https:443 | Azure blob storage, required to fetch machine learning project scripts, container images and job logs/metrics |
434-
| *.workspace.\<region\>.api.azureml.ms , \<region\>.experiments.azureml.net, \<region\>.api.azureml.ms | https:443 | Azure machine learning service api, required to communicate with AML |
402+
> [!NOTE]
403+
> `<region>` is the lowcase full spelling of Azure Region, for example, eastus, southeastasia.
435404
436405
### Visual Studio Code hosts
437406

articles/machine-learning/how-to-attach-arc-kubernetes.md

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ To use Azure Kubernetes Service clusters for Azure Machine Learning training and
2828
Before deploying the Azure Machine Learning extension on Azure Kubernetes Service clusters, you have to:
2929

3030
- Register the feature in your AKS cluster. For more information, see [Azure Kubernetes Service prerequisites](#aks-prerequisites).
31-
- Configure inbound and outbound network traffic. For more information, see [Configure inbound and outbound network traffic (AKS)](how-to-access-azureml-behind-firewall.md#azure-kubernetes-services-1).
3231

3332
To deploy the Azure Machine Learning extension on AKS clusters, see the [Deploy Azure Machine Learning extension](#deploy-azure-machine-learning-extension) section.
3433

@@ -40,13 +39,7 @@ To deploy the Azure Machine Learning extension on AKS clusters, see the [Deploy
4039
> [!NOTE]
4140
> For AKS clusters, connecting them to Azure Arc is **optional**.
4241
43-
* Fulfill [Azure Arc network requirements](../azure-arc/kubernetes/quickstart-connect-cluster.md?tabs=azure-cli#meet-network-requirements)
44-
45-
> [!IMPORTANT]
46-
> Clusters running behind an outbound proxy server or firewall need additional network configurations.
47-
>
48-
> For more information, see [Configure inbound and outbound network traffic (Azure Arc-enabled Kubernetes)](how-to-access-azureml-behind-firewall.md#arc-kubernetes).
49-
42+
* Clusters running behind an outbound proxy server or firewall need additional network configurations. See [Configure inbound and outbound network traffic](how-to-access-azureml-behind-firewall.md#azure-arc-enabled-kubernetes-).
5043
* Fulfill [Azure Arc-enabled Kubernetes cluster extensions prerequisites](../azure-arc/kubernetes/extensions.md#prerequisites).
5144
* Azure CLI version >= 2.24.0
5245
* Azure CLI k8s-extension extension version >= 1.0.0
@@ -59,7 +52,6 @@ To deploy the Azure Machine Learning extension on AKS clusters, see the [Deploy
5952
az login
6053
az account set --subscription <your-subscription-id>
6154
```
62-
6355
### Azure Kubernetes Service (AKS) <a id="aks-prerequisites"></a>
6456
6557
For AKS clusters, connecting them to Azure Arc is **optional**.
@@ -69,6 +61,8 @@ However, you have to register the feature in your cluster. Use the following com
6961
```azurecli
7062
az feature register --namespace Microsoft.ContainerService -n AKS-ExtensionManager
7163
```
64+
> [!NOTE]
65+
> For more information, see [Deploy and manage cluster extensions for Azure Kubernetes Service (AKS)](../aks/cluster-extensions.md)
7266
7367
### Azure RedHat OpenShift Service (ARO) and OpenShift Container Platform (OCP) only
7468

@@ -97,7 +91,7 @@ az feature register --namespace Microsoft.ContainerService -n AKS-ExtensionManag
9791

9892
Azure Arc-enabled Kubernetes has a cluster extension functionality that enables you to install various agents including Azure Policy definitions, monitoring, machine learning, and many others. Azure Machine Learning requires the use of the *Microsoft.AzureML.Kubernetes* cluster extension to deploy the Azure Machine Learning agent on the Kubernetes cluster. Once the Azure Machine Learning extension is installed, you can attach the cluster to an Azure Machine Learning workspace and use it for the following scenarios:
9993

100-
* [Training](#training)
94+
* [Training only](#training)
10195
* [Real-time inferencing only](#inferencing)
10296
* [Training and inferencing](#training-inferencing)
10397

@@ -119,20 +113,22 @@ You can use ```--config``` or ```--config-protected``` to specify list of key-va
119113
| Configuration Setting Key Name | Description | Training | Inference | Training and Inference |
120114
|--|--|--|--|--|
121115
|```enableTraining``` |```True``` or ```False```, default ```False```. **Must** be set to ```True``` for AzureML extension deployment with Machine Learning model training support. | **&check;**| N/A | **&check;** |
122-
|```logAnalyticsWS``` |```True``` or ```False```, default ```False```. AzureML extension integrates with Azure LogAnalytics Workspace to provide log viewing and analysis capability through LogAnalytics Workspace. This setting must be explicitly set to ```True``` if customer wants to use this capability. LogAnalytics Workspace cost may apply. |Optional |Optional |Optional |
123-
|```installNvidiaDevicePlugin``` | ```True``` or ```False```, default ```True```. Nvidia Device Plugin is required for ML workloads on Nvidia GPU hardware. By default, AzureML extension deployment will install Nvidia Device Plugin regardless Kubernetes cluster has GPU hardware or not. User can specify this configuration setting to False if Nvidia Device Plugin installation is not required (either it is installed already or there is no plan to use GPU for workload). | Optional |Optional |Optional |
124116
| ```enableInference``` |```True``` or ```False```, default ```False```. **Must** be set to ```True``` for AzureML extension deployment with Machine Learning inference support. |N/A| **&check;** | **&check;** |
125117
| ```allowInsecureConnections``` |```True``` or ```False```, default False. This **must** be set to ```True``` for AzureML extension deployment with HTTP endpoints support for inference, when ```sslCertPemFile``` and ```sslKeyPemFile``` are not provided. |N/A| Optional | Optional |
126118
| ```privateEndpointNodeport``` |```True``` or ```False```, default ```False```. **Must** be set to ```True``` for AzureML deployment with Machine Learning inference private endpoints support using serviceType nodePort. | N/A| Optional | Optional |
127119
| ```privateEndpointILB``` |```True``` or ```False```, default ```False```. **Must** be set to ```True``` for AzureML extension deployment with Machine Learning inference private endpoints support using serviceType internal load balancer | N/A| Optional | Optional |
120+
|```sslSecret```| The Kubernetes secret under azureml namespace to store `cert.pem` (PEM-encoded SSL cert) and `key.pem` (PEM-encoded SSL key), required for AzureML extension deployment with HTTPS endpoint support for inference, when ``allowInsecureConnections`` is set to ```False```. Use this config or give static cert and key file path in configuration protected settings.|N/A| Optional | Optional |
121+
|```sslCname``` |A SSL CName to use if enabling SSL validation on the cluster. | N/A | Optional | Optional |
128122
| ```inferenceLoadBalancerHA``` |```True``` or ```False```, default ```True```. By default, AzureML extension will deploy three ingress controller replicas for high availability, which requires at least three workers in a cluster. Set this config to ```False``` if you have fewer than three workers and want to deploy AzureML extension for development and testing only, in this case it will deploy one ingress controller replica only. | N/A| Optional | Optional |
129123
|```openshift``` | ```True``` or ```False```, default ```False```. Set to ```True``` if you deploy AzureML extension on ARO or OCP cluster. The deployment process will automatically compile a policy package and load policy package on each node so AzureML services operation can function properly. | Optional| Optional | Optional |
130124
|```nodeSelector``` | Set the node selector so the extension components and the training/inference workloads will only be deployed to the nodes with all specified selectors. Usage: `nodeSelector.key=value`, support multiple selectors. Example: `nodeSelector.node-purpose=worker nodeSelector.node-region=eastus`| Optional| Optional | Optional |
131-
|```sslCname``` |The cname for if SSL is enabled. | N/A | Optional | Optional |
125+
|```installNvidiaDevicePlugin``` | ```True``` or ```False```, default ```True```. Nvidia Device Plugin is required for ML workloads on Nvidia GPU hardware. By default, AzureML extension deployment will install Nvidia Device Plugin regardless Kubernetes cluster has GPU hardware or not. User can specify this configuration setting to ```False``` if Nvidia Device Plugin installation is not required (either it is installed already or there is no plan to use GPU for workload). | Optional |Optional |Optional |
126+
|```reuseExistingPromOp```|```True``` or ```False```, default ```False```. AzureML extension needs prometheus operator to manage prometheus. Set to ```True``` to reuse existing prometheus operator. | Optional| Optional | Optional |
127+
|```logAnalyticsWS``` |```True``` or ```False```, default ```False```. AzureML extension integrates with Azure LogAnalytics Workspace to provide log viewing and analysis capability through LogAnalytics Workspace. This setting must be explicitly set to ```True``` if customer wants to use this capability. LogAnalytics Workspace cost may apply. |Optional |Optional |Optional |
132128

133129
|Configuration Protected Setting Key Name |Description |Training |Inference |Training and Inference
134130
|--|--|--|--|--|
135-
| ```sslCertPemFile```, ```sslKeyPemFile``` |Path to SSL certificate and key file (PEM-encoded), required for AzureML extension deployment with HTTPS endpoint support for inference, when ``allowInsecureConnections`` is set to False. | N/A| Optional | Optional |
131+
| ```sslCertPemFile```, ```sslKeyPemFile``` |Path to SSL certificate and key file (PEM-encoded), required for AzureML extension deployment with HTTPS endpoint support for inference, when ``allowInsecureConnections`` is set to ```False```. | N/A| Optional | Optional |
136132

137133
> [!WARNING]
138134
> If Nvidia Device Plugin, is already installed in your cluster, reinstalling them may result in an extension installation error. Set `installNvidiaDevicePlugin` to `False` to prevent deployment errors.
@@ -259,7 +255,7 @@ kubectl get pods -n azureml
259255
```
260256
## Update Azure Machine Learning extension
261257

262-
Use ```k8s-extension update``` CLI command to update the mutable properties of Azure Machine Learning extension. For more information, see the [`k8s-extension update` CLI command documentation](/cli/azure/k8s-extension#az_k8s_extension_update).
258+
Use ```k8s-extension update``` CLI command to update the mutable properties of Azure Machine Learning extension. For more information, see the [`k8s-extension update` CLI command documentation](/cli/azure/k8s-extension?view=azure-cli-latest#az_k8s_extension_update&preserve-view=true).
263259

264260
1. Azure Arc supports update of ``--auto-upgrade-minor-version``, ``--version``, ``--configuration-settings``, ``--configuration-protected-settings``.
265261
2. For configurationSettings, only the settings that require update need to be provided. If the user provides all settings, they would be merged/overwritten with the provided values.
@@ -280,7 +276,7 @@ Use ```k8s-extension update``` CLI command to update the mutable properties of
280276
281277
## Delete Azure Machine Learning extension
282278

283-
Use [`k8s-extension delete`](/cli/azure/k8s-extension#az_k8s_extension_delete) CLI command to delete the Azure Machine Learning extension.
279+
Use [`k8s-extension delete`](/cli/azure/k8s-extension?view=azure-cli-latest#az_k8s_extension_delete&preserve-view=true) CLI command to delete the Azure Machine Learning extension.
284280

285281
It takes around 10 minutes to delete all components deployed to the Kubernetes cluster. Run `kubectl get pods -n azureml` to check if all components were deleted.
286282

0 commit comments

Comments
 (0)