Azure Arc enabled ML supports both Azure RedHat OpenShift Service (ARO) and OpenShift Container Platform (OCP).
-
An ARO or OCP Kubernetes cluster is up and running.
- To setup ARO Kubernetes cluster on Azure, please follow instruction here
- to setup OCP Kubernetes clsuter, please follow instructure on RedHat website.
-
Ensure you have cluster admin privilege and you have kubeconfig access from where you run Azure CLI command.
-
Grant privileged access to AzureML service accounts, run $oc edit scc privileged, add following service accounts under users:
system:serviceaccount:azure-arc:azure-arc-kube-aad-proxy-sasystem:serviceaccount:azureml:{EXTENSION NAME}-kube-state-metrics(Note:{EXTENSION NAME}here must match with the extension name used inaz k8s-extension create --namestep)system:serviceaccount:azureml:cluster-status-reportersystem:serviceaccount:azureml:prom-admissionsystem:serviceaccount:azureml:defaultsystem:serviceaccount:azureml:prom-operatorsystem:serviceaccount:azureml:csi-blob-node-sasystem:serviceaccount:azureml:csi-blob-controller-sasystem:serviceaccount:azureml:load-amlarc-selinux-policy-sasystem:serviceaccount:azureml:azureml-fesystem:serviceaccount:azureml:prom-prometheus
To Deploy AzureML extension on ARO or OCP, you would need to specify one additional config setting openshift=True in addition to regular configuration settings for normal AzureML extension deployment. Following command will deploy AzureML extension to ARO or OCP and enable Kubernetes cluster for training workload.
az k8s-extension create --name amlarc-compute --extension-type Microsoft.AzureML.Kubernetes --configuration-settings enableTraining=True openshift=True --cluster-type connectedClusters --cluster-name <your-connected-cluster-name> --resource-group <resource-group> --scope cluster