You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> This Quickstart will work for most use cases. The only exception is if you plan to use Azure Elastic SAN Preview as backing storage for your storage pool and you don't have owner-level access to the Azure subscription. If both these statements apply to you, use the [manual installation steps](install-container-storage-aks.md) instead.
24
24
25
-
## Choose a data storage option
25
+
26
+
## Set subscription context
27
+
28
+
Set your Azure subscription context using the `az account set` command. You can view the subscription IDs for all the subscriptions you have access to by running the `az account list --output table` command. Remember to replace `<subscription-id>` with your subscription ID.
29
+
30
+
```azurecli-interactive
31
+
az account set --subscription <subscription-id>
32
+
```
33
+
34
+
## Register resource providers
35
+
36
+
The `Microsoft.ContainerService` and `Microsoft.KubernetesConfiguration` resource providers must be registered on your Azure subscription. To register these providers, run the following command:
37
+
38
+
```azurecli-interactive
39
+
az provider register --namespace Microsoft.ContainerService --wait
40
+
az provider register --namespace Microsoft.KubernetesConfiguration --wait
41
+
```
42
+
43
+
## Create a resource group
44
+
45
+
An Azure resource group is a logical group that holds your Azure resources that you want to manage as a group. If you already have a resource group you want to use, you can skip this section.
46
+
47
+
When you create a resource group, you're prompted to specify a location. This location is:
48
+
49
+
* The storage location of your resource group metadata.
50
+
* Where your resources will run in Azure if you don't specify another region during resource creation.
51
+
52
+
Create a resource group using the `az group create` command. Replace `<resource-group-name>` with the name of the resource group you want to create, and replace `<location>` with an Azure region such as *eastus*, *westus2*, *westus3*, or *westeurope*.
53
+
54
+
```azurecli-interactive
55
+
az group create --name <resource-group-name> --location <location>
56
+
```
57
+
58
+
If the resource group was created successfully, you'll see output similar to this:
## Choose a data storage option for your storage pool
26
74
27
75
Before deploying Azure Container Storage, you'll need to decide which back-end storage option you want to use to create your storage pool and persistent volumes. Three options are currently available:
28
76
29
77
-**Azure Elastic SAN Preview**: Azure Elastic SAN preview is a good fit for general purpose databases, streaming and messaging services, CI/CD environments, and other tier 1/tier 2 workloads. Storage is provisioned on demand per created volume and volume snapshot. Multiple clusters can access a single SAN concurrently, however persistent volumes can only be attached by one consumer at a time.
30
78
31
79
-**Azure Disks**: Azure Disks are a good fit for databases such as MySQL, MongoDB, and PostgreSQL. Storage is provisioned per target container storage pool size and maximum volume size.
32
80
33
-
-**Ephemeral Disk**: This option uses local NVMe drives on the AKS nodes and is extremely latency sensitive (low sub-ms latency), so it's best for applications with no data durability requirement or with built-in data replication support such as Cassandra. AKS discovers the available ephemeral storage on AKS nodes and acquires the drives for volume deployment.
81
+
-**Ephemeral Disk**: This option uses local NVMe drives on the AKS cluster nodes and is extremely latency sensitive (low sub-ms latency), so it's best for applications with no data durability requirement or with built-in data replication support such as Cassandra. AKS discovers the available ephemeral storage on AKS nodes and acquires the drives for volume deployment.
34
82
35
-
You'll specify the data storage type as `azureDisk`, `ephemeraldisk`, or `elasticSan` when you install Azure Container Storage.
83
+
You'll specify the storage pool type when you install Azure Container Storage.
36
84
37
85
## Choose a VM type for your cluster
38
86
@@ -43,34 +91,34 @@ If you intend to use Azure Elastic SAN Preview or Azure Disks as backing storage
43
91
44
92
## Create a new AKS cluster and install Azure Container Storage
45
93
46
-
Run the following command to create a new AKS cluster, install Azure Container Storage, and create a storage pool. Replace `<cluster-name>` and `<resource-group-name>` with your own values, and specify which VM type and backing storage option you want to use. If you already have an AKS cluster deployed, see [Install Azure Container Storage on an existing AKS cluster](#install-azure-container-storage-on-an-existing-aks-cluster).
94
+
Run the following command to create a new AKS cluster, install Azure Container Storage, and create a storage pool. Replace `<cluster-name>` and `<resource-group-name>` with your own values, and specify which VM type you want to use. You'll need a node pool of at least three Linux VMs. Replace `<storage-pool-type>` with `azureDisk`, `ephemeraldisk`, or `elasticSan`.
47
95
48
-
You'll need a node pool of at least three Linux VMs.
96
+
If you already have an AKS cluster deployed, skip this section and go to [Install Azure Container Storage on an existing AKS cluster](#install-azure-container-storage-on-an-existing-aks-cluster).
| --storage-pool-size | 512Gi (1Ti for Elastic SAN) |
56
104
| --storage-pool-sku | Premium_LRS |
57
105
| --storage-pool-option | NVMe |
58
106
59
107
```azurecli-interactive
60
-
az aks create --n <cluster-name> --g <resource-group-name> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage {azureDisk, ephemeraldisk, elasticSan}
108
+
az aks create --n <cluster-name> --g <resource-group-name> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage <storage-pool-type>
61
109
```
62
110
63
111
The deployment will take 10-15 minutes to complete.
64
112
65
113
## Install Azure Container Storage on an existing AKS cluster
66
114
67
-
If you already have an AKS cluster that meets the [VM requirements](#choose-a-vm-type-for-your-cluster), run the following command to install Azure Container Storage and create a storage pool. Replace `<cluster-name>` and `<resource-group-name>` with your own values, and specify which backing storage option you want to use.
115
+
If you already have an AKS cluster that meets the [VM requirements](#choose-a-vm-type-for-your-cluster), run the following command to install Azure Container Storage on the cluster and create a storage pool. Replace `<cluster-name>` and `<resource-group-name>` with your own values. Replace `<storage-pool-type>` with `azureDisk`, `ephemeraldisk`, or `elasticSan`.
68
116
69
117
> [!IMPORTANT]
70
118
> **If you created your AKS cluster using the Azure portal:** The cluster will likely have a user node pool and a system/agent node pool. Before you can install Azure Container Storage, you must update the user node pool label as described in this section. However, if your cluster consists of only a system node pool, which is the case with test/dev clusters created with the Azure portal, you'll need to first [add a new user node pool](../../aks/create-node-pools.md#add-a-node-pool) and then label it. This is because when you create an AKS cluster using the Azure portal, a taint `CriticalAddOnsOnly` is added to the agent/system nodepool, which blocks installation of Azure Container Storage on the system node pool. This taint isn't added when an AKS cluster is created using Azure CLI.
71
119
72
120
```azurecli-interactive
73
-
az aks update --n <cluster-name> --g <resource-group-name> --enable-azure-container-storage {azureDisk, ephemeraldisk, elasticSan}
121
+
az aks update --n <cluster-name> --g <resource-group-name> --enable-azure-container-storage <storage-pool-type>
74
122
```
75
123
76
124
The deployment will take 10-15 minutes to complete.
0 commit comments