Skip to content

Commit 3cab360

Browse files
authored
Merge pull request #276376 from saurabh0501/patch-1
Update container-storage-aks-quickstart.md
2 parents 69721b3 + 67d4a9c commit 3cab360

File tree

1 file changed

+51
-64
lines changed

1 file changed

+51
-64
lines changed

articles/storage/container-storage/container-storage-aks-quickstart.md

Lines changed: 51 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ ms.custom: devx-track-azurecli, ignite-2023-container-storage, linux-related-con
1616
## Prerequisites
1717

1818
[!INCLUDE [container-storage-prerequisites](../../../includes/container-storage-prerequisites.md)]
19+
- If you haven't already created an AKS cluster, follow the instructions for [Installing an AKS Cluster](install-container-storage-aks.md).
1920

2021
## Getting started
2122

@@ -41,36 +42,36 @@ Set your Azure subscription context using the `az account set` command. You can
4142
az account set --subscription <subscription-id>
4243
```
4344

44-
## Create a resource group
45+
## Connect to the cluster
4546

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.
4748

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:
4950

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.
5253

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+
```
5457
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.
5859
59-
If the resource group was created successfully, you'll see output similar to this:
60-
61-
```output
62-
{
63-
"id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
64-
"location": "eastus",
65-
"managedBy": null,
66-
"name": "myContainerStorageRG",
67-
"properties": {
68-
"provisioningState": "Succeeded"
69-
},
70-
"tags": null
71-
}
72-
```
60+
```azurecli-interactive
61+
kubectl get nodes
62+
```
63+
64+
3. The following output example shows the nodes in your cluster. Make sure the status for all nodes shows *Ready*:
7365
66+
```output
67+
NAME STATUS ROLES AGE VERSION
68+
aks-nodepool1-34832848-vmss000000   Ready    agent   80m   v1.25.6
69+
aks-nodepool1-34832848-vmss000001   Ready    agent   80m   v1.25.6
70+
aks-nodepool1-34832848-vmss000002   Ready    agent   80m   v1.25.6
71+
```
72+
73+
Take note of the name of your node pool. In this example, it would be **nodepool1**.
74+
7475
## Choose a data storage option for your storage pool
7576
7677
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
99100
100101
\*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.
101102
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.
103106
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).
105108
106109
- 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**.
107110
- 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**.
108111
- 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).
109112
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
144114
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`.
148116
149117
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).
150118
@@ -157,7 +125,10 @@ Running this command will enable Azure Container Storage on the system node pool
157125
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
158126
```
159127

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).
161132
162133
### Install Azure Container Storage on specific node pools
163134

@@ -169,7 +140,7 @@ If you want to install Azure Container Storage on specific node pools, follow th
169140
az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
170141
```
171142

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`.
173144

174145
```azurecli-interactive
175146
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
190161
> [!TIP]
191162
> 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.
192163
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+
193180
## Disable storage pool types
194181

195182
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

Comments
 (0)