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
- If you haven't already created an AKS cluster, follow the instructions for [Installing an AKS Cluster](install-container-storage-aks.md).
19
20
20
21
## Getting started
21
22
@@ -41,36 +42,36 @@ Set your Azure subscription context using the `az account set` command. You can
41
42
az account set --subscription <subscription-id>
42
43
```
43
44
44
-
## Create a resource group
45
+
## Connect to the cluster
45
46
46
-
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.
47
+
To connect to the cluster, use the Kubernetes command-line client, `kubectl`. It's already installed if you're using Azure Cloud Shell, or you can install it locally by running the `az aks install-cli` command.
47
48
48
-
When you create a resource group, you're prompted to specify a location. This location is:
49
+
1. Configure `kubectl` to connect to your cluster using the `az aks get-credentials` command. The following command:
49
50
50
-
- The storage location of your resource group metadata.
51
-
- Where your resources will run in Azure if you don't specify another region during resource creation.
51
+
* Downloads credentials and configures the Kubernetes CLI to use them.
52
+
* Uses `~/.kube/config`, the default location for the Kubernetes configuration file. You can specify a different location for your Kubernetes configuration file using the *--file* argument.
52
53
53
-
Create a resource group using the `az group create` command. Replace `<resource-group>` 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*. See this [list of Azure regions](container-storage-introduction.md#regional-availability) where Azure Container Storage is available.
54
+
```azurecli-interactive
55
+
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
56
+
```
54
57
55
-
```azurecli-interactive
56
-
az group create --name <resource-group> --location <location>
57
-
```
58
+
2. Verify the connection to your cluster using the `kubectl get` command. This command returns a list of the cluster nodes.
58
59
59
-
If the resource group was created successfully, you'll see output similar to this:
Take note of the name of your node pool. In this example, it would be **nodepool1**.
74
+
74
75
## Choose a data storage option for your storage pool
75
76
76
77
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:
@@ -99,52 +100,19 @@ The resources consumed are per node, and will be consumed for each node in the n
99
100
100
101
\*In a storage pool type Ephemeral Disk - Local NVMe, if you're using multiple VM SKU types for your cluster nodes, the 25% of CPU cores consumed applies to the smallest SKU used. For example, if you're using a mix of 8-core and 16-core VM types, resource consumption is 2 cores.
101
102
102
-
## Choose a VM type for your cluster
103
+
## Ensure VM type for your cluster meets the following criteria
104
+
105
+
To use Azure Container Storage, you'll need a node pool of at least three Linux VMs. Each VM should have a minimum of four virtual CPUs (vCPUs). Azure Container Storage will consume one core for I/O processing on every VM the extension is deployed to.
103
106
104
-
You'll specify the VM type when you create the cluster in the next section. Follow these guidelines when choosing a VM type for the cluster nodes. You must choose a VM type that supports [Azure premium storage](../../virtual-machines/premium-storage-performance.md).
107
+
Follow these guidelines when choosing a VM type for the cluster nodes. You must choose a VM type that supports [Azure premium storage](../../virtual-machines/premium-storage-performance.md).
105
108
106
109
- If you intend to use Azure Elastic SAN or Azure Disks as backing storage, choose a [general purpose VM type](../../virtual-machines/sizes-general.md) such as **standard_d4s_v5**.
107
110
- If you intend to use Ephemeral Disk with local NVMe, choose a [storage optimized VM type](../../virtual-machines/sizes-storage.md) such as **standard_l8s_v3**.
108
111
- If you intend to use Ephemeral Disk with temp SSD, choose a VM that has a temp SSD disk such as [Ev3 and Esv3-series](../../virtual-machines/ev3-esv3-series.md).
109
112
110
-
## Create a new AKS cluster and install Azure Container Storage
111
-
112
-
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).
113
-
114
-
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>` with your own values, and specify which VM type you want to use. Replace `<storage-pool-type>` with `azureDisk`, `ephemeralDisk`, or `elasticSan`. If you select `ephemeralDisk`, you must also specify `--storage-pool-option`, and the values can be `NVMe` or `Temp`.
115
-
116
-
Running this command will enable Azure Container Storage on the system node pool\* with three Linux VMs. By default, the system node pool is named `nodepool1`. If you want to enable Azure Container Storage on other node pools, see [Install Azure Container Storage on specific node pools](#install-azure-container-storage-on-specific-node-pools). If you want to specify additional storage pool parameters with this command, see [this table](container-storage-faq.md#storage-pool-parameters).
117
-
118
-
\*If there are any existing node pools with the `acstor.azure.com/io-engine:acstor` label then Azure Container Storage will be installed there by default. Otherwise, it's installed on the system node pool.
119
-
120
-
```azurecli-interactive
121
-
az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage <storage-pool-type>
122
-
```
123
-
124
-
The deployment will take 10-15 minutes. When it completes, you'll have an AKS cluster with Azure Container Storage installed, the components for your chosen storage pool type enabled, and a default storage pool. If you want to enable additional storage pool types to create additional storage pools, see [Enable additional storage pool types](#enable-additional-storage-pool-types).
125
-
126
-
> [!IMPORTANT]
127
-
> If you specified Azure Elastic SAN as backing storage for your storage pool and you don't have either [Azure Container Storage Owner](../../role-based-access-control/built-in-roles/containers.md#azure-container-storage-owner) role or [Azure Container Storage Contributor](../../role-based-access-control/built-in-roles/containers.md#azure-container-storage-contributor) role assigned to the Azure subscription, only Azure Container Storage will be installed and a storage pool won't be created. In this case, you'll have to [create an Elastic SAN storage pool manually](use-container-storage-with-elastic-san.md).
128
-
129
-
## Display available storage pools
130
-
131
-
To get the list of available storage pools, run the following command:
132
-
133
-
```azurecli-interactive
134
-
kubectl get sp -n acstor
135
-
```
136
-
137
-
To check the status of a storage pool, run the following command:
138
-
139
-
```azurecli-interactive
140
-
kubectl describe sp <storage-pool-name> -n acstor
141
-
```
142
-
143
-
If the `Message` doesn't say `StoragePool is ready`, then your storage pool is still creating or ran into a problem. See [Troubleshoot Azure Container Storage](troubleshoot-container-storage.md).
113
+
## Install Azure Container Storage on your AKS cluster
144
114
145
-
## Install Azure Container Storage on an existing AKS cluster
146
-
147
-
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>` with your own values. Replace `<storage-pool-type>` with `azureDisk`, `ephemeraldisk`, or `elasticSan`.
115
+
If your AKS cluster meets the [VM requirements](#ensure-vm-type-for-your-cluster-meets-the-following-criteria), run the following command to install Azure Container Storage on the cluster and create a storage pool. Replace `<cluster-name>` and `<resource-group>` with your own values. Replace `<storage-pool-type>` with `azureDisk`, `ephemeraldisk`, or `elasticSan`. If you select `ephemeralDisk`, you can also specify `--storage-pool-option`, and the values can be `NVMe` or `Temp`.
148
116
149
117
Running this command will enable Azure Container Storage on the system node pool, which by default is named `nodepool1`\*. If you want to enable it on other node pools, see [Install Azure Container Storage on specific node pools](#install-azure-container-storage-on-specific-node-pools). If you want to specify additional storage pool parameters, see [this table](container-storage-faq.md#storage-pool-parameters).
150
118
@@ -157,7 +125,10 @@ Running this command will enable Azure Container Storage on the system node pool
157
125
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
158
126
```
159
127
160
-
The deployment will take 10-15 minutes to complete.
128
+
The deployment will take 10-15 minutes. When it completes, you'll have an AKS cluster with Azure Container Storage installed, the components for your chosen storage pool type enabled, and a default storage pool. If you want to enable additional storage pool types to create additional storage pools, see [Enable additional storage pool types](#enable-additional-storage-pool-types).
129
+
130
+
> [!IMPORTANT]
131
+
> If you specified Azure Elastic SAN as backing storage for your storage pool and you don't have either [Azure Container Storage Owner](../../role-based-access-control/built-in-roles/containers.md#azure-container-storage-owner) role or [Azure Container Storage Contributor](../../role-based-access-control/built-in-roles/containers.md#azure-container-storage-contributor) role assigned to the Azure subscription, only Azure Container Storage will be installed and a storage pool won't be created. In this case, you'll have to [create an Elastic SAN storage pool manually](use-container-storage-with-elastic-san.md).
161
132
162
133
### Install Azure Container Storage on specific node pools
163
134
@@ -169,7 +140,7 @@ If you want to install Azure Container Storage on specific node pools, follow th
169
140
az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
170
141
```
171
142
172
-
2. Run the following command to install Azure Container Storage on specific node pools. Replace `<cluster-name>` and `<resource-group>` with your own values. Replace `<storage-pool-type>` with `azureDisk`, `ephemeraldisk`, or `elasticSan`. If you select `ephemeralDisk`, you must also specify `--storage-pool-option`, and the values can be `NVMe` or `Temp`.
143
+
2. Run the following command to install Azure Container Storage on specific node pools. Replace `<cluster-name>` and `<resource-group>` with your own values. Replace `<storage-pool-type>` with `azureDisk`, `ephemeraldisk`, or `elasticSan`. If you select `ephemeralDisk`, you can also specify --storage-pool-option, and the values can be `NVMe` or `Temp`.
173
144
174
145
```azurecli-interactive
175
146
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --azure-container-storage-nodepools <comma separated values of nodepool names>
@@ -190,6 +161,22 @@ If the new storage pool type that you've enabled takes up more resources than th
190
161
> [!TIP]
191
162
> If you've added a new node pool to your cluster and want to run Azure Container Storage on that node pool, you can specify the node pool with `--azure-container-storage-nodepools <nodepool-name>` when running the `az aks update` command.
192
163
164
+
## Display available storage pools
165
+
166
+
To get the list of available storage pools, run the following command:
167
+
168
+
```azurecli-interactive
169
+
kubectl get sp -n acstor
170
+
```
171
+
172
+
To check the status of a storage pool, run the following command:
173
+
174
+
```azurecli-interactive
175
+
kubectl describe sp <storage-pool-name> -n acstor
176
+
```
177
+
178
+
If the `Message` doesn't say `StoragePool is ready`, then your storage pool is still creating or ran into a problem. See [Troubleshoot Azure Container Storage](troubleshoot-container-storage.md).
179
+
193
180
## Disable storage pool types
194
181
195
182
If you're no longer using a specific storage pool type and want to disable it to free up resources in your node pool, run the following command. Replace `<cluster-name>` and `<resource-group>` with your own values. For `<storage-pool-type>`, specify `azureDisk`, `ephemeralDisk`, or `elasticSan`.
0 commit comments