Skip to content

Commit 398c12d

Browse files
Merge pull request #313343 from khdownie/kendownie031826
Learn Authoring Assistant quality pass
2 parents ebddfa9 + cff0675 commit 398c12d

1 file changed

Lines changed: 23 additions & 23 deletions

File tree

articles/storage/files/azure-kubernetes-service-workloads.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,23 @@ description: Learn how to use Azure file shares for Azure Kubernetes Service (AK
44
author: khdownie
55
ms.service: azure-file-storage
66
ms.topic: concept-article
7-
ms.date: 01/20/2026
7+
ms.date: 03/18/2026
88
ms.author: kendownie
99
ai-usage: ai-generated
1010
# Customer intent: "As a Kubernetes administrator, I want to implement Azure Files for my Azure Kubernetes Service (AKS) workloads requiring persistent, shared storage, so that I can better support my organization's containerized applications."
1111
---
1212

1313
# Azure Files guidance for Azure Kubernetes Service (AKS) workloads
1414

15-
Azure Files provides file shares (Azure Files SMB/NFS endpoints) accessible via SMB 3.x or NFS 4.1 protocols. When integrated with Azure Kubernetes Service (AKS), Azure Files enables persistent, shared storage for containerized applications with `ReadWriteMany` (RWX) access mode, allowing multiple pods (Kubernetes container groups) to mount the same share concurrently.
15+
Azure Files provides file shares (Azure Files SMB/NFS endpoints) accessible via SMB 3.x or NFS 4.1 protocols. When you integrate Azure Files with Azure Kubernetes Service (AKS), you can provide persistent, shared storage for containerized applications with the `ReadWriteMany` (RWX) access mode. This setup allows multiple pods (Kubernetes container groups) to mount the same share concurrently.
1616

1717
## AKS overview: managed Kubernetes on Azure
1818

19-
Azure Kubernetes Service is a managed Kubernetes service for deploying and scaling containerized applications on Azure. AKS manages control plane components (API server, etcd, scheduler); you manage worker node pools. AKS 1.21+ includes the Azure Files CSI driver by default.
19+
Azure Kubernetes Service is a managed Kubernetes service for deploying and scaling containerized applications on Azure. AKS manages control plane components, such as the API server, etcd, and scheduler. You manage the worker node pools. AKS versions 1.21 and later include the Azure Files CSI driver by default.
2020

2121
## Azure Files benefits for AKS storage
2222

23-
Azure Files supports `ReadWriteMany` access mode required for multi-pod shared storage. Azure Files has two media tiers: solid state drives (SSD) and hard disk drives (HDD). It also offers three different [billing models](understanding-billing.md): provisioned v2, pay-as-you-go, and the legacy provisioned v1 billing model.
23+
Azure Files supports the `ReadWriteMany` access mode required for multi-pod shared storage. Azure Files has two media tiers: solid state drives (SSD) and hard disk drives (HDD). Azure Files also offers three different [billing models](understanding-billing.md): [provisioned v2](understanding-billing.md#provisioned-v2-model), [pay-as-you-go](understanding-billing.md#pay-as-you-go-model), and the legacy [provisioned v1](understanding-billing.md#provisioned-v1-model) billing model.
2424

2525
> [!IMPORTANT]
2626
> To use the provisioned v2 billing model for Azure Files, you must use the Azure Files CSI driver [version 1.35.0](https://github.com/kubernetes-sigs/azurefile-csi-driver/releases/tag/v1.35.0) or later.
@@ -43,14 +43,14 @@ Unlike local storage that's tied to individual nodes (Kubernetes worker VMs), Az
4343

4444
### Kubernetes native integration
4545

46-
Azure Files integrates with Kubernetes through the Azure Files Container Storage Interface (CSI) driver. You provision and manage file shares using persistent volumes (PV) and persistent volume claims (PVC). The CSI driver handles Azure API calls, authentication via managed identity or storage account key, and mount operations.
46+
Azure Files integrates with Kubernetes through the Azure Files Container Storage Interface (CSI) driver. You provision and manage file shares by using persistent volumes (PV) and persistent volume claims (PVC). The CSI driver handles Azure API calls, authentication through managed identity or storage account key, and mount operations.
4747

4848
### SSD file shares for optimal performance
4949

50-
For new deployments, we recommend the SSD media tier combined with the provisioned v2 billing model for most workloads:
50+
For new deployments, use the SSD media tier combined with the provisioned v2 billing model for most workloads:
5151

52-
- **SSD** (recommended): Suitable for logging, media serving, databases, and latency-sensitive workloads. Available with the provisioned v2 billing model (recommended, `PremiumV2_LRS` / `PremiumV2_ZRS`) or the legacy provisioned v1 billing model (`Premium_LRS` / `Premium_ZRS`). Up to 102,400 IOPS and 10,340 MiB/sec throughput per share.
53-
- **HDD**: Suitable for config files and infrequent access. Available with the provisioned v2 billing model (`StandardV2_LRS` / `StandardV2_ZRS`) or the pay-as-you-go billing model (`Standard_LRS` / `Standard_ZRS`). Up to 50,000 IOPS and 5,120 MiB/sec throughput per share with provisioned v2. For very small shares, HDD pay-as-you-go (`Standard_LRS` / `Standard_ZRS`) might be more cost-effective because HDD provisioned v2 requires a minimum amount of provisioned IOPS and throughput with no free baseline. For most other HDD workloads, SSD provisioned v2 is more cost-effective at small share sizes due to its included baseline IOPS and throughput.
52+
- **SSD** (recommended): Use for logging, media serving, databases, and latency-sensitive workloads. Available with the provisioned v2 billing model (recommended, `PremiumV2_LRS` / `PremiumV2_ZRS`) or the legacy provisioned v1 billing model (`Premium_LRS` / `Premium_ZRS`). Up to 102,400 IOPS and 10,340 MiB/sec throughput per share.
53+
- **HDD**: Use for config files and infrequent access. Available with the provisioned v2 billing model (`StandardV2_LRS` / `StandardV2_ZRS`) or the pay-as-you-go billing model (`Standard_LRS` / `Standard_ZRS`). Up to 50,000 IOPS and 5,120 MiB/sec throughput per share with provisioned v2. For very small shares, HDD pay-as-you-go (`Standard_LRS` / `Standard_ZRS`) might be more cost-effective because HDD provisioned v2 requires a minimum amount of provisioned IOPS and throughput with no free baseline. For most other HDD workloads, SSD provisioned v2 is more cost-effective at small share sizes due to its included baseline IOPS and throughput.
5454

5555
### Protocol support
5656

@@ -59,7 +59,7 @@ For new deployments, we recommend the SSD media tier combined with the provision
5959

6060
### Security and compliance
6161

62-
Azure Files security features: AES-256 encryption at rest, TLS 1.2+ encryption in transit, Microsoft Entra ID and RBAC integration for SMB, and private endpoint support to restrict traffic to your virtual network.
62+
Azure Files security features include AES-256 encryption at rest, TLS 1.2+ encryption in transit, Microsoft Entra ID and RBAC integration for SMB, and private endpoint support to restrict traffic to your virtual network.
6363

6464
## Azure Files CSI driver: Kubernetes integration
6565

@@ -109,11 +109,11 @@ Dynamic provisioning automatically creates Azure file shares when you create a p
109109
| **SKU options** | SSD provisioned v2 (recommended): `PremiumV2_LRS`, `PremiumV2_ZRS`; SSD provisioned v1: `Premium_LRS`, `Premium_ZRS`; HDD provisioned v2: `StandardV2_LRS`, `StandardV2_ZRS`, `StandardV2_GRS`, `StandardV2_GZRS`; HDD pay-as-you-go: `Standard_LRS`, `Standard_ZRS`, `Standard_GRS`, `Standard_GZRS` |
110110
| **Region constraints** | NFS protocol requires SSD file shares and a virtual network-enabled storage account; ZRS requires availability zone support |
111111

112-
With dynamic provisioning, storage is automatically created when a persistent volume claim is created. The Azure Files CSI driver supports dynamic provisioning through Kubernetes storage classes.
112+
With dynamic provisioning, the system automatically creates storage when you create a persistent volume claim. The Azure Files CSI driver supports dynamic provisioning through Kubernetes storage classes.
113113

114114
### Prerequisites for dynamic provisioning
115115

116-
Ensure the following are in place before creating a StorageClass for dynamic provisioning:
116+
Before creating a StorageClass for dynamic provisioning, ensure you have the following prerequisites:
117117

118118
- AKS cluster version 1.21 or later
119119
- Linux node pool (for NFS) or Linux/Windows node pool (for SMB)
@@ -124,9 +124,9 @@ Ensure the following are in place before creating a StorageClass for dynamic pro
124124
### Steps to configure dynamic provisioning
125125

126126
1. **Create the StorageClass** – Define the provisioning parameters (SKU, protocol, mount options).
127-
1. **Create a PersistentVolumeClaim (PVC)** – Reference the StorageClass; the CSI driver auto-creates the Azure file share.
128-
1. **Deploy your workload** – Mount the PVC in your pod spec.
129-
1. **Verify** – Confirm PVC is `Bound` and the mount path is accessible.
127+
1. **Create a PersistentVolumeClaim (PVC)** – Reference the StorageClass; the CSI driver automatically creates the Azure file share.
128+
1. **Deploy your workload** – Mount the PVC in your pod specification.
129+
1. **Verify** – Confirm the PVC is `Bound` and the mount path is accessible.
130130

131131
### StorageClass parameters for dynamic provisioning
132132

@@ -192,7 +192,7 @@ Before deploying shared configuration storage, verify your environment meets the
192192

193193
Azure Files is particularly useful for:
194194

195-
- **Configuration management**: Store application configuration files that need to be shared across multiple instances.
195+
- **Configuration management**: Store application configuration files that you need to share across multiple instances.
196196
- **Certificate distribution**: Centrally manage and distribute SSL/TLS certificates.
197197
- **Shared libraries**: Store common libraries or binaries accessed by multiple applications.
198198

@@ -262,7 +262,7 @@ Before deploying centralized logging storage, verify your environment meets thes
262262
| **SKU options** | `PremiumV2_LRS` or `PremiumV2_ZRS` recommended for high-throughput logging (SSD provisioned v2); `Premium_LRS` or `Premium_ZRS` also supported (SSD provisioned v1) |
263263
| **Region constraints** | Deploy storage account in the same region as AKS cluster for optimal latency |
264264

265-
Azure Files can serve as a central repository for application logs, enabling log aggregation from multiple pods and providing persistent storage for log analysis tools.
265+
Azure Files can serve as a central repository for application logs. It enables you to aggregate logs from multiple pods and provides persistent storage for log analysis tools.
266266

267267
This YAML example demonstrates a DaemonSet (pod on every node) for log collection with a shared Azure Files storage for centralized log aggregation. This example targets Linux node pools and uses the SMB protocol:
268268

@@ -343,7 +343,7 @@ For existing Azure file shares, you can create persistent volumes that reference
343343

344344
### Prerequisites for static provisioning
345345

346-
Ensure the following are in place before creating a PersistentVolume for static provisioning:
346+
Ensure the following prerequisites are in place before creating a PersistentVolume for static provisioning:
347347

348348
- AKS cluster version 1.21 or later
349349
- Linux node pool (for NFS) or Linux/Windows node pool (for SMB)
@@ -354,8 +354,8 @@ Ensure the following are in place before creating a PersistentVolume for static
354354

355355
### Steps to configure static provisioning
356356

357-
1. **Create the Azure file share**Provision the storage account and file share in Azure portal, CLI, or Bicep/Terraform.
358-
2. **(SMB only) Create a Kubernetes Secret** – Store the storage account name and key:
357+
1. **Create the Azure file share**Create the storage account and file share by using the Azure portal, Azure CLI, or Bicep/Terraform.
358+
2. **(SMB only) Create a Kubernetes Secret** – Store the storage account name and key.
359359
```bash
360360
kubectl create secret generic azure-secret \
361361
--from-literal=azurestorageaccountname=<STORAGE_ACCOUNT_NAME, e.g., myteaborgstorage> \
@@ -364,7 +364,7 @@ Ensure the following are in place before creating a PersistentVolume for static
364364
3. **Create the PersistentVolume (PV)** – Reference the existing share using CSI volume attributes.
365365
4. **Create a PersistentVolumeClaim (PVC)** – Bind to the PV using matching `storageClassName` and access modes.
366366
5. **Deploy your workload** – Mount the PVC in your pod spec.
367-
6. **Verify** – Confirm PV is `Bound` and the existing share contents are visible.
367+
6. **Verify** – Confirm the PV is `Bound` and the existing share contents are visible.
368368

369369
### PersistentVolume parameters for static provisioning
370370

@@ -455,11 +455,11 @@ mountOptions:
455455
456456
## Azure Files private endpoints: secure AKS storage
457457
458-
Private endpoints restrict Azure Files traffic to your virtual network, eliminating exposure to the public internet.
458+
By using private endpoints, you can restrict Azure Files traffic to your virtual network and eliminate exposure to the public internet.
459459
460460
### Prerequisites for private endpoint configuration
461461
462-
Ensure the following are in place before configuring private endpoints for Azure Files:
462+
Ensure the following prerequisites are in place before configuring private endpoints for Azure Files:
463463
464464
- AKS cluster version 1.21 or later with virtual network integration
465465
- Azure storage account in the same region as the AKS cluster
@@ -469,7 +469,7 @@ Ensure the following are in place before configuring private endpoints for Azure
469469

470470
### Steps to configure private endpoints with Azure Files
471471

472-
1. **Create a private endpoint** – In the Azure portal or via CLI/Bicep, create a private endpoint for the storage account targeting the `file` sub-resource.
472+
1. **Create a private endpoint** – Using the Azure portal, Azure CLI, or Bicep, create a private endpoint for the storage account targeting the `file` sub-resource.
473473
2. **Configure private DNS** – Link the `privatelink.file.core.windows.net` private DNS zone to your AKS virtual network.
474474
3. **Create the StorageClass** – Set `networkEndpointType: privateEndpoint` in the parameters.
475475
4. **Create a PVC** – Reference the StorageClass; the CSI driver provisions storage via the private endpoint.

0 commit comments

Comments
 (0)