你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 容器存储是一项基于云的卷管理、部署和业务流程服务,专为容器原生构建。 本教程介绍如何在 Azure Kubernetes 服务 (AKS) 群集上安装最新生产版本的 Azure 容器存储,无论是创建新群集还是在现有部署上启用该服务。
如果更喜欢 Azure 容器存储的开源版本,请访问 local-csi-driver 存储库以获取备用安装说明。
重要
本文适用于 Azure 容器存储(版本 2.x.x)。 有关早期版本,请参阅 Azure 容器存储(版本 1.x.x)文档。 如果已在 AKS 群集上安装 Azure 容器存储(版本 1.x.x), 请执行以下步骤将其删除。
- 准备 Azure CLI 环境
- 为群集创建或选择资源组
- 确认节点池虚拟机类型符合安装条件
- 通过创建新的 AKS 群集或在现有群集上启用它来安装 Azure 容器存储
先决条件
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
本文需要 Azure CLI 的最新版本(2.77.0 或更高版本)。 请参阅如何安装 Azure CLI。 请勿使用 Azure Cloud Shell,因为
az upgradeCloud Shell 中不可用。 请务必使用管理权限运行本文中的命令。 某些 Azure CLI 扩展(例如aks-preview)可能会与所需的命令标志冲突。 如果遇到问题,请禁用它们。需要 Kubernetes 命令行客户端。
kubectl可以通过运行az aks install-cli命令在本地安装它。检查 Azure 容器存储区域是否支持你的目标区域。
使用 az login 命令登录到 Azure。
安装所需的扩展
通过运行以下命令添加或升级到最新版本的 k8s-extension。
az extension add --upgrade --name k8s-extension
设置订阅上下文
使用 az account set 命令设置 Azure 订阅上下文。 可以通过运行 az account list --output table 命令来查看有权访问的所有订阅的订阅 ID。 请记住要将 <subscription-id> 替换为你的订阅 ID。
az account set --subscription <subscription-id>
创建资源组
Azure 资源组是一个逻辑组,用于保存要作为组管理的 Azure 资源。 创建资源组时,系统会提示你指定一个位置。 此位置是:
- 资源组元数据的存储位置。
- 如果在创建资源期间未指定另一个区域,则资源在 Azure 中运行的位置。
使用 az group create 命令创建资源组。 将 <resource-group-name> 替换为要创建的资源组的名称,将 <location> 替换为 Azure 区域,如 eastus、westus2、westus3 或 westeurope。 如果要在现有 AKS 群集上启用 Azure 容器存储,请使用已托管群集的资源组。
az group create --name <resource-group-name> --location <location>
如果已成功创建资源组,则会看到类似于以下示例的输出:
{
"id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
"location": "eastus",
"managedBy": null,
"name": "myContainerStorageRG",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
确保群集的 VM 类型满足安装条件
为群集节点选择虚拟机类型时,请遵循以下准则。
- 选择支持本地 NVMe 数据磁盘的虚拟机 SKU,例如 存储优化 VM 或 GPU 加速 VM。
- 选择节点池中 VM 的 OS 类型作为 Linux OS。 目前不支持 Windows OS。
- 对于现有群集,请确保节点池在启用 Azure 容器存储之前已使用受支持的 VM SKU。
在 AKS 群集上安装 Azure 容器存储
选择与环境匹配的方案。
选项 1:创建新的已启用 Azure 容器存储的 AKS 群集
运行以下命令以创建新的 AKS 群集并安装 Azure 容器存储。 使用自己的值替换 <cluster-name> 和 <resource-group>,并指定要使用的 VM 类型。
az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_L8s_v3 --enable-azure-container-storage --generate-ssh-keys
部署需要 5-10 分钟。 完成后,你安装了一个 AKS 群集,其中安装了 Azure 容器存储,并部署了用于本地 NVMe 存储类型的组件。
选项 2:在现有 AKS 群集上启用 Azure 容器存储
运行以下命令,在现有 AKS 群集上启用 Azure 容器存储。 将 <cluster-name> 和 <resource-group> 替换为自己的值。
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage
部署需要 5-10 分钟。 完成后,目标 AKS 群集已安装 Azure 容器存储,并部署了本地 NVMe 存储类型的组件。
连接到群集并验证状态
安装后,配置 kubectl 以连接到群集,并确保节点已准备就绪。
下载群集凭据并配置 Kubernetes CLI 以使用它们。 默认情况下,凭据存储在
~/.kube/config. 根据需要使用--file参数提供其他路径。az aks get-credentials --resource-group <resource-group> --name <cluster-name>通过列出群集节点来验证连接。
kubectl get nodes请确保所有节点的状态都报告为
Ready,类似于以下输出:NAME STATUS ROLES AGE VERSION aks-nodepool1-34832848-vmss000000 Ready agent 80m v1.32.6 aks-nodepool1-34832848-vmss000001 Ready agent 80m v1.32.6 aks-nodepool1-34832848-vmss000002 Ready agent 80m v1.32.6