Edit

Share via


Quickstart: Install Azure Container Storage enabled by Azure Arc on a single-node Ubuntu cluster

This quickstart shows you how to install Azure Container Storage on a fresh single-node Ubuntu cluster.

Prerequisites

Before you begin, you need the following prerequisites:

Parameters

You need the following parameter values to complete this quickstart:

Parameter name Description
resource-group The name of the Azure Resource Group that your cluster is in.
cluster-name The name of your Arc-enabled Kubernetes cluster.

Step 1: Set maximum user instances

To determine if you set fs.inotify.max_user_instances to 1024, run the following command:

sysctl fs.inotify.max_user_instances

After you run this command, if it returns less than 1024, run the following command to increase the maximum number of files and reload the sysctl settings:

echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf 
sudo sysctl -p

Step 2: Install Azure IoT Operations dependencies

Run the following command to install the Azure IoT Operations dependencies:

az k8s-extension create --cluster-name "${YOUR-CLUSTER-NAME}" --name "aio-certmgr" --resource-group "${YOUR-RESOURCE-GROUP}" --cluster-type connectedClusters --extension-type microsoft.iotoperations.platform --scope cluster --release-namespace cert-manager

Step 3: Install the Azure Container Storage enabled by Azure Arc extension

Install the Azure Container Storage extension using the following command:

az k8s-extension create --resource-group "${YOUR-RESOURCE-GROUP}" --cluster-name "${YOUR-CLUSTER-NAME}" --cluster-type connectedClusters --name azure-arc-containerstorage --extension-type microsoft.arc.containerstorage

Note

By default, the --release-namespace parameter is set to azure-arc-containerstorage. If you want to override this setting, add the --release-namespace flag to the previous command and populate it with your details. Any values set at installation time persist throughout the installation lifetime (including manual and auto-upgrades).

Important

If you use OneLake, you must use a unique extension name for the --name parameter in the az k8s-extension create command.

Configuration CRD

First, create a file named edgeConfig.yaml with the following contents:

apiVersion: arccontainerstorage.azure.net/v1 
kind: EdgeStorageConfiguration 
metadata: 
  name: edge-storage-configuration 
spec: 
  defaultDiskStorageClasses: 
    - "default" 
    - "local-path" 

To apply this .yaml file, run:

kubectl apply -f "edgeConfig.yaml"

Next steps

Now that you have the extension installed, you can configure some volumes, either Local Shared Edge Volumes or Cloud Ingest Edge Volumes.