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/machine-learning/how-to-access-azureml-behind-firewall.md
+11-42Lines changed: 11 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -386,52 +386,21 @@ The hosts in this section are used to install R packages, and are required durin
386
386
| ---- | ---- |
387
387
|**cloud.r-project.org**| Used when installing CRAN packages. |
388
388
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.
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,
402
392
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. |**✓**|**✓**|
396
+
|*.azurecr.io | https:443 | Azure container registry, required to pull docker images used for machine learning workloads.|**✓**|**✓**|
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.|**✓**|**✓**|
|*.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.
Copy file name to clipboardExpand all lines: articles/machine-learning/how-to-attach-arc-kubernetes.md
+12-16Lines changed: 12 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,6 @@ To use Azure Kubernetes Service clusters for Azure Machine Learning training and
28
28
Before deploying the Azure Machine Learning extension on Azure Kubernetes Service clusters, you have to:
29
29
30
30
- 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).
32
31
33
32
To deploy the Azure Machine Learning extension on AKS clusters, see the [Deploy Azure Machine Learning extension](#deploy-azure-machine-learning-extension) section.
34
33
@@ -40,13 +39,7 @@ To deploy the Azure Machine Learning extension on AKS clusters, see the [Deploy
40
39
> [!NOTE]
41
40
> For AKS clusters, connecting them to Azure Arc is **optional**.
> 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-).
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:
99
93
100
-
*[Training](#training)
94
+
*[Training only](#training)
101
95
*[Real-time inferencing only](#inferencing)
102
96
*[Training and inferencing](#training-inferencing)
103
97
@@ -119,20 +113,22 @@ You can use ```--config``` or ```--config-protected``` to specify list of key-va
119
113
| Configuration Setting Key Name | Description | Training | Inference | Training and Inference |
120
114
|--|--|--|--|--|
121
115
|```enableTraining```|```True``` or ```False```, default ```False```. **Must** be set to ```True``` for AzureML extension deployment with Machine Learning model training support. |**✓**| N/A |**✓**|
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 |
124
116
|```enableInference```|```True``` or ```False```, default ```False```. **Must** be set to ```True``` for AzureML extension deployment with Machine Learning inference support. |N/A|**✓**|**✓**|
125
117
|```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 |
126
118
|```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 |
127
119
|```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 |
128
122
|```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 |
129
123
|```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 |
130
124
|```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 |
132
128
133
129
|Configuration Protected Setting Key Name |Description |Training |Inference |Training and Inference
134
130
|--|--|--|--|--|
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 |
136
132
137
133
> [!WARNING]
138
134
> 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
259
255
```
260
256
## Update Azure Machine Learning extension
261
257
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).
263
259
264
260
1. Azure Arc supports update of ``--auto-upgrade-minor-version``, ``--version``, ``--configuration-settings``, ``--configuration-protected-settings``.
265
261
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
280
276
281
277
## Delete Azure Machine Learning extension
282
278
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.
284
280
285
281
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.
0 commit comments