Skip to content

Commit 08d208f

Browse files
Merge pull request #3360 from anupras-mohapatra-arm/servers-and-cloud-computing
Longhorn for Kubernetes persistent storage on Azure documentation review
2 parents d121516 + c1dda33 commit 08d208f

6 files changed

Lines changed: 128 additions & 125 deletions

File tree

content/learning-paths/servers-and-cloud-computing/longhorn-cobalt/_index.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
---
2-
title: Deploy Longhorn on Azure Cobalt 100 Arm64 virtual machines for Kubernetes persistent storage
3-
4-
draft: true
5-
cascade:
6-
draft: true
2+
title: Use Longhorn to deploy persistent storage for Kubernetes workloads on Arm-based Azure virtual machines
73

8-
description: Learn how to install and configure Longhorn on an Azure Cobalt 100 Arm64 virtual machine, deploy Kubernetes persistent storage using K3s, create Persistent Volumes, and benchmark storage performance for cloud-native workloads.
4+
description: Learn how to install and configure Longhorn on an Arm64 Azure virtual machine powered by Azure Cobalt 100, deploy Kubernetes persistent storage using Longhorn on K3s, create persistent volumes, and benchmark storage performance for cloud-native workloads.
95

106
minutes_to_complete: 60
117

128
who_is_this_for: This is an introductory topic for developers, DevOps engineers, platform engineers, and Kubernetes administrators who want to deploy persistent storage for Kubernetes workloads using Longhorn on Arm-based cloud infrastructure.
139

1410
learning_objectives:
15-
- Install and configure K3s Kubernetes on Azure Cobalt 100 Arm64 virtual machines
16-
- Deploy and configure Longhorn distributed block storage on Arm64
17-
- Create and manage Kubernetes Persistent Volumes using Longhorn
11+
- Install and configure K3s Kubernetes on an Arm64 Azure virtual machine powered by Azure Cobalt 100
12+
- Install and configure Longhorn distributed block storage on Arm64
13+
- Create and manage Kubernetes persistent volumes using Longhorn
1814
- Benchmark Kubernetes storage performance using fio
1915

2016
prerequisites:
21-
- A [Microsoft Azure account](https://azure.microsoft.com/) with access to Cobalt 100 based instances (Dpsv6)
17+
- A [Microsoft Azure account](https://azure.microsoft.com/) with access to Cobalt 100-based instances (Dpsv6)
2218
- Basic knowledge of Linux command-line operations
2319
- Familiarity with SSH and remote server access
2420
- Basic understanding of Kubernetes and containerized workloads
Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Understand Longhorn on Azure Cobalt 100
3+
description: Understand how Longhorn provides Kubernetes persistent storage on Arm64 virtual machines powered by Azure Cobalt 100.
34

45
weight: 2
56

@@ -8,52 +9,49 @@ layout: "learningpathall"
89

910
## Why run Longhorn on Azure Cobalt 100
1011

11-
Longhorn on Arm-based Azure Cobalt 100 processors provides lightweight, Kubernetes-native distributed storage for cloud-native workloads running on Arm64 infrastructure.
12+
Longhorn on Arm-based Azure Cobalt 100 processors provides lightweight, Kubernetes-native, persistent distributed storage for cloud-native workloads running on Arm64 infrastructure.
1213

13-
Azure Cobalt 100 processors deliver dedicated physical cores per vCPU, providing predictable and consistent performance for Kubernetes storage workloads. This architecture complements Longhorn’s distributed block storage model and helps deliver stable storage performance for stateful applications running on Kubernetes.
14+
Azure Cobalt 100 processors deliver dedicated physical cores per vCPU, providing predictable and consistent performance for Kubernetes storage workloads. This architecture complements Longhorn’s distributed block storage model and delivers stable storage performance for stateful applications running on Kubernetes.
1415

15-
Longhorn enables persistent storage for Kubernetes workloads such as databases, analytics platforms, monitoring stacks, and stateful cloud-native applications running on Azure Cobalt 100 Arm64 virtual machines.
16+
You’ll use this architecture in the following sections to install Longhorn on K3s, create a Longhorn-backed PersistentVolume, and validate storage behavior with fio.
1617

1718
## Azure Cobalt 100 Arm-based processor
1819

19-
Azure’s Cobalt 100 is Microsoft’s first-generation, in-house Arm-based processor. Built on Arm Neoverse N2, Cobalt 100 is a 64-bit CPU that delivers strong performance and energy efficiency for cloud-native, scale-out Linux workloads.
20+
Azure’s Cobalt 100 is Microsoft’s first-generation, in-house Arm-based processor. Built on Arm Neoverse N2, Cobalt 100 is a 64-bit CPU that delivers strong performance and energy efficiency for cloud-native, scale-out Linux workloads.
2021

2122
These workloads include:
22-
2323
- Kubernetes platforms
2424
- Containerized applications
25-
- Open-source databases
25+
- Open-source databases
2626
- Data analytics systems
2727
- Storage and caching platforms
2828

2929
Running at 3.4 GHz, Cobalt 100 allocates a dedicated physical core for each vCPU, ensuring predictable and consistent workload performance.
3030

3131
To learn more, see the Microsoft blog [Announcing the preview of new Azure VMs based on the Azure Cobalt 100 processor](https://techcommunity.microsoft.com/blog/azurecompute/announcing-the-preview-of-new-azure-vms-based-on-the-azure-cobalt-100-processor/4146353).
3232

33-
## How Longhorn improves Kubernetes storage
33+
## How Longhorn provides Kubernetes storage
3434

3535
Longhorn is an open-source cloud-native distributed block storage platform designed specifically for Kubernetes environments.
3636

3737
It provides persistent storage volumes for Kubernetes workloads and enables applications to retain data independently of container or pod lifecycle events.
3838

3939
Longhorn integrates directly with Kubernetes through the Container Storage Interface (CSI) and provides dynamic volume provisioning, storage management, and persistent storage capabilities for stateful workloads.
4040

41-
To learn more, see the official [Longhorn documentation](https://longhorn.io/docs/).
42-
4341
Longhorn provides several important capabilities for Kubernetes storage management:
4442

45-
- Persistent Volumes: Dynamically provisions Kubernetes Persistent Volumes for stateful workloads.
46-
- Distributed Storage: Replicates and manages block storage volumes across Kubernetes nodes.
47-
- CSI Integration: Integrates natively with Kubernetes using the Container Storage Interface.
48-
- Snapshot and Backup Support: Supports volume snapshots and backup operations for Kubernetes workloads.
49-
- Stateful Workload Support: Enables databases, monitoring stacks, and analytics applications to run with persistent storage.
43+
- Persistent volumes: Dynamically provisions Kubernetes persistent volumes for stateful workloads.
44+
- Distributed storage: Replicates and manages block storage volumes across Kubernetes nodes.
45+
- CSI integration: Integrates natively with Kubernetes using CSI.
46+
- Snapshot and backup support: Supports volume snapshots and backup operations.
47+
- Stateful workload support: Enables databases, monitoring stacks, and analytics applications to run with persistent storage.
5048

51-
Longhorn is widely used in Kubernetes environments to provide lightweight and reliable storage without requiring external SAN or NAS infrastructure.
49+
It's widely used in Kubernetes environments to provide lightweight and reliable storage without requiring external Storage Area Network (SAN) or Network Attached Storage (NAS) infrastructure.
5250

53-
In this Learning Path, you'll deploy Longhorn on an Azure Cobalt 100 Arm64 virtual machine using K3s Kubernetes. You'll configure Longhorn for a single-node Kubernetes cluster, create Persistent Volumes, validate storage persistence, and benchmark storage performance using fio.
51+
To learn more about Longhorn, see the official [Longhorn documentation](https://longhorn.io/docs/).
5452

5553
## What you've learned and what's next
5654

57-
You now understand why Azure Cobalt 100 and Longhorn are a strong combination for Kubernetes-native persistent storage on Arm64 infrastructure.
55+
You now understand why Azure Cobalt 100 and Longhorn are a strong combination for Kubernetes-native persistent storage on Arm64 infrastructure. You also learned about the Kubernetes storage management capabilities that Longhorn provides.
5856

59-
Next, you'll configure Azure networking and firewall rules, install K3s Kubernetes, deploy Longhorn, and begin creating Persistent Volumes for Kubernetes workloads.
57+
Next, you'll create a virtual machine with Azure Cobalt 100.
Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
2-
title: Allow access to the Longhorn Web UI on Azure
2+
title: Allow network access to the Longhorn Web UI on Azure
3+
description: Configure Azure Network Security Group inbound rules for Kubernetes API access, HTTP workloads, and the Longhorn web UI on an Arm64 Azure VM powered by Azure Cobalt 100.
34
weight: 4
45

56
### FIXED, DO NOT MODIFY
@@ -8,18 +9,18 @@ layout: learningpathall
89

910
## Configure external traffic for Longhorn and Kubernetes
1011

11-
To allow external traffic for the Longhorn Web UI and Kubernetes services on an Azure virtual machine, open the required ports in the Network Security Group (NSG). The NSG can be attached to the virtual machine's network interface or subnet.
12+
To allow external traffic for the Longhorn web UI and Kubernetes services on an Azure virtual machine (VM), open the required ports in the Network Security Group (NSG). The NSG can be attached to the VM's network interface or subnet.
1213

1314
{{% notice Note %}}For more information about Azure setup, see [Getting started with Microsoft Azure Platform](/learning-paths/servers-and-cloud-computing/csp/azure/).{{% /notice %}}
1415

1516

1617
### Add inbound firewall rules in Azure
1718

18-
To expose the required TCP ports for Kubernetes and Longhorn, create an inbound firewall rule.
19+
To expose the required TCP ports for Kubernetes and Longhorn, create an inbound firewall rule:
1920

20-
1. Navigate to the [Azure portal](https://portal.azure.com), go to **Virtual Machines**, and select your virtual machine.
21+
1. Navigate to the [Azure portal](https://portal.azure.com), go to **Virtual Machines**, and select your VM.
2122

22-
![Azure Portal Virtual Machines page with the target VM selected. Verify that the correct Azure Cobalt 100 virtual machine is selected before configuring network access.#center](images/virtual_machine.png "Azure Virtual Machine")
23+
![Azure Portal Virtual Machines page with the target VM selected. Verify that the correct Arm64 Azure VM powered by Azure Cobalt 100 is selected before configuring network access.#center](images/virtual_machine.png "Azure Virtual Machine")
2324

2425
2. In the left menu, select **Networking**, then select **Network settings**.
2526

@@ -35,25 +36,19 @@ To expose the required TCP ports for Kubernetes and Longhorn, create an inbound
3536
- **Source IP addresses:** *(auto-populated with your current public IP)*
3637
- **Source port ranges:** *
3738
- **Destination:** Any
38-
- **Destination port ranges:** **80,8080,6443**
39+
- **Destination port ranges:** `80`,`8080`,`6443`
3940
- **Protocol:** TCP
4041
- **Action:** Allow
41-
- **Name:** allow-longhorn-kubernetes
42+
- **Name:** `allow-longhorn-kubernetes`
4243

43-
This rule allows external access for:
44-
45-
- Port `80` → HTTP workloads
46-
- Port `8080` → Longhorn Web UI
47-
- Port `6443` → Kubernetes API server
44+
This rule allows external access for port `80` for HTTP workloads, port `8080` for the Longhorn web UI, and port `6443` for the Kubernetes API server.
4845

4946
{{% notice Note %}}Setting **Source** to **My IP address** restricts access to these ports to your current machine only. If your public IP address changes or you access the environment from another system, update the source IP in the NSG rule accordingly.{{% /notice %}}
5047

51-
5. After filling in the details, select **Add** to save the rule.
48+
5. After configuring the rule, select **Add** to save the rule.
5249

5350
## What you've learned and what's next
5451

55-
You've now configured the Azure Network Security Group to allow external traffic for Kubernetes API access, HTTP workloads, and the Longhorn Web UI.
56-
57-
These firewall rules allow secure remote management of the Azure Cobalt 100 virtual machine and external access to the Kubernetes storage dashboard.
52+
You've now configured the Azure Network Security Group to allow external traffic for Kubernetes API access, HTTP workloads, and the Longhorn Web UI. These firewall rules allow secure remote management of the VM and external access to the Kubernetes storage dashboard.
5853

59-
Next, you'll install K3s Kubernetes and Longhorn on the virtual machine, then deploy and configure persistent storage.
54+
Next, you'll install K3s Kubernetes and Longhorn on the VM.

0 commit comments

Comments
 (0)