# Create an Arm64 virtual machine powered by Azure Cobalt 100

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/)
- [Understand how OpenEBS provides Kubernetes-native persistent storage on Azure](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/background/)
- [Create an Arm64 virtual machine powered by Azure Cobalt 100](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/instance/)
- [Deploy OpenEBS on an Arm-based virtual machine](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/openebs-installation/)
- [Validate persistent storage with OpenEBS on an Arm-based virtual machine](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/openebs-persistent-storage-validation/)
- [Allow access to the OpenEBS application on Azure](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/firewall/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/_next-steps/)

## Set up an Azure virtual machine
In this section, you’ll use the Azure portal to create a virtual machine (VM) powered by the Arm-based Azure Cobalt 100 processor.

You’ll create a general-purpose virtual machine in the Dpsv6 series. For more information, see the [Microsoft Azure guide for the Dpsv6 size series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dpsv6-series).

While the steps to create this instance are included here for convenience, for more detailed steps, you can also see [Deploy a Cobalt 100 virtual machine on Azure Learning Path](https://learn.arm.com/learning-paths/servers-and-cloud-computing/cobalt/).

### Use the Azure portal to create an Arm-based virtual machine
To create an Azure virtual machine using the Azure portal:

1. Launch the Azure portal and navigate to **Virtual Machines**.
2. Select **Create**, and select **Virtual Machine** from the drop-down list.
3. In the **Basic** tab, provide instance details such as **Virtual machine name** and **Region**.
4. Select **Ubuntu Pro 24.04 LTS** as the image for your virtual machine, and select **Arm64** as the VM architecture.
5. In the **Size** field, select **See all sizes** and select the D-Series v6 family of virtual machines.
6. Select **D4ps_v6** from the list as shown in the following screenshot:

   ![Select D4ps_v6 from the D-Series v6 family](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/images/instance.png)  
   Select D4ps_v6 from the D-Series v6 family

7. For **Authentication type**, select **SSH public key**.

   > **Note**: Azure generates an SSH key pair for you that you can save for future use. This method is fast, secure, and easy for connecting to your VM.

8. Fill in the **Administrator username** for your VM.
9. Select **Generate new key pair**, and select **RSA SSH Format** as the SSH Key Type.

   > **Note**: RSA offers better security with keys longer than 3072 bits.

10. Give your SSH key a key pair name.
11. In the **Inbound port rules**, select **HTTP (80)** and **SSH (22)** as the inbound ports, as shown in the following screenshot:

    ![Configure inbound port rules for HTTP and SSH access](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/images/instance1.png)  
    Configure inbound port rules for HTTP and SSH access

12. Select the **Review + Create** tab and review the configuration for your virtual machine. It should look like the following:

    ![Review VM configuration before creation](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/images/ubuntu-pro.png)  
    Review VM configuration before creation

13. When you’re happy with your selection, select the **Create** button and then **Download Private key and Create Resource**.

    ![Download SSH key and create the virtual machine](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/images/instance4.png)  
    Download SSH key and create the virtual machine

Your VM should be ready and running in a few minutes. You can SSH into the VM using the private key, along with the public IP details.

![Successful VM deployment confirmation](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openebs-cobalt/images/final-vm.png)  
Successful VM deployment confirmation

> **Note**: To learn more about Arm-based virtual machines in Azure, see the “Getting Started with Microsoft Azure” section in the [Get started with Arm-based cloud instances Learning Path](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/azure/).

## What you’ve accomplished and what’s next
You’ve created an Arm64 VM powered by Azure Cobalt 100 running Ubuntu 24.04 LTS with SSH authentication configured. The VM is now ready for deploying Kubernetes and OpenEBS LocalPV workloads.

Next, you’ll install K3s Kubernetes on the VM and deploy OpenEBS LocalPV to build a lightweight Kubernetes-native persistent storage platform.
