Deploy Longhorn storage for Kubernetes on Azure Arm VMs
Introduction
Understand Longhorn on Azure Cobalt 100
Create an Arm64 Azure virtual machine powered by Azure Cobalt 100
Allow network access to the Longhorn Web UI on Azure
Install and run Longhorn on a single-node Kubernetes cluster
Validate and benchmark Longhorn storage with fio
Next Steps
Deploy Longhorn storage for Kubernetes on Azure Arm VMs
Review frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Write data to
/usr/share/nginx/html/index.html in the running NGINX container. Delete and recreate the pod, then use kubectl exec to read the file. If the original content appears, the data persisted on the Longhorn-backed volume.Add an inbound network security group rule for TCP ports
80, 8080, and 6443. Apply the rule to the VM’s network interface or subnet, then use the VM’s IP address and port 8080 while the Longhorn port-forward command is running.Check that the Kubernetes node reports
Ready, the Longhorn pods report Running, and the longhorn StorageClass is available. Confirm that the Longhorn interface also loads in your browser.Set
storageClassName: longhorn in your manifest. Your PersistentVolumeClaim should bind when the longhorn StorageClass is available.Confirm that
fio completes without errors and prints throughput, input/output operations per second (IOPS), and latency metrics. Use this output as a baseline for later runs in your environment.