Install MLRun CE on Azure#

These instructions explain how to install MLRun CE on your Azure Kubernetes Service (AKS) cluster.

In this section

Prerequisites#

Note

The MLRun CE resources are configured initially with the default cluster/namespace resource limits. You can modify the resources from outside if needed. See Advanced chart configuration.

Prepare values files#

Create azure-values.yaml with your container registry and storage settings.

  1. Download the azure values file template.

  2. Copy and edit azure-values.yaml — fill in your registry URL, secret name, and storage settings:

storage:
  mode: "azure-blob"
  azure:
    containerName: "data"
    accountName: "<name of the storage account>"
    connectionString: "DefaultEndpointsProtocol=https;AccountName=<name of the storage>;AccountKey=<account key>;EndpointSuffix=core.windows.net"

global:
  registry:
    url: "<url of the registry>"
    secretName: "acr-registry-credentials"

Storage options#

MLRun CE can store MLRun artifact data in Azure Blob Storage instead of the default S3-compatible (SeaweedFS) setup used for MLRun CE. See Using Azure Blob Storage for MLRun artifacts.

Create the container registry secret#

Using Azure Container Registry (ACR):

export ACR_NAME="<acr-name>"
export ACR_TOKEN=$(az acr login --name "${ACR_NAME}" --expose-token --output tsv --query accessToken)

kubectl --namespace mlrun create secret docker-registry acr-registry-credentials \
    --docker-server="<url of the registry>" \
    --docker-username="00000000-0000-0000-0000-000000000000" \
    --docker-password="${ACR_TOKEN}" \
    --docker-email="not-used@example.com"

The secret name must match global.registry.secretName in azure-values.yaml (default: acr-registry-credentials).

Installation#

  1. Add the MLRun CE Helm repo:

helm repo add mlrun-ce https://mlrun.github.io/ce
helm repo update
  1. Install MLRun CE using azure-values.yaml:

helm install mlrun-ce mlrun-ce/mlrun-ce \
  --namespace mlrun \
  --wait \
  --timeout 2000s \
  -f azure-values.yaml

Optional: Ingress configuration#

If you prefer ingress-based access instead of NodePort, optionally add values-ingress-override.yaml to the install command. See Ingress Configuration.

Uninstalling the chart#

helm --namespace mlrun uninstall mlrun-ce

See the Kubernetes uninstall notes for guidance on cleaning up persistent volumes and other dangling resources.