在本文中,将学习如何使用 Azure Lustre CSI Driver for Kubernetes,在 Azure Kubernetes 服务 (AKS) 中规划、安装和使用 Azure Managed Lustre。 此驱动程序基于容器支持接口 (CSI) 规范。
可以使用 Azure Lustre CSI Driver for Kubernetes,从 AKS 中部署的 Kubernetes 容器访问 Azure Managed Lustre 存储,将其作为持久性存储卷。
兼容的 Kubernetes 版本
适用于 Kubernetes 的 Azure Lustre CSI 驱动程序与 AKS兼容。 目前不支持其他 Kubernetes 安装。
支持 AKS Kubernetes 版本 1.21 及更高版本。 此支持包括创建新 AKS 群集时当前可用的所有版本。
重要
Azure Lustre CSI Driver for Kubernetes 当前仅适用于 AKS 节点池的 Ubuntu Linux OS SKU。
兼容的 Lustre 版本
Azure Lustre CSI Driver for Kubernetes 与 Azure Managed Lustre 兼容。 目前不支持其他 Lustre 安装。
Azure Lustre CSI 驱动程序版本
支持以下驱动程序版本:
| 驱动程序版本 | 图像 | 支持的 k8s 版本 | Lustre 客户端版本 | 动态预配 |
|---|---|---|---|---|
| 主分支 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:latest | 1.21+ | 2.15.5 | ✅ |
| v0.3.0 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.3.0 | 1.21+ | 2.15.5 | ✅ |
| v0.2.0 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.2.0 | 1.21+ | 2.15.5 | ❌ |
| v0.1.18 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.1.18 | 1.21+ | 2.15.5 | ❌ |
| v0.1.17 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.1.17 | 1.21+ | 2.15.5 | ❌ |
| v0.1.15 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.1.15 | 1.21+ | 2.15.4 | ❌ |
| v0.1.14 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.1.14 | 1.21+ | 2.15.3 | ❌ |
| v0.1.13 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.1.13 | 1.21+ | 2.15.4 | ❌ |
| v0.1.12 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.1.12 | 1.21+ | 2.15.3 | ❌ |
| v0.1.11 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.1.11 | 1.21+ | 2.15.1 | ❌ |
| v0.1.10 | mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.1.10 | 1.21+ | 2.15.2 | ❌ |
有关所有驱动程序版本及其更改日志的完整列表,请参阅 Azure Lustre CSI 驱动程序版本页。
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 安装了 Azure CLI 工具的终端环境。 请参阅 Azure CLI 入门。
- kubectl,Kubernetes 管理工具,已安装在您的终端环境中。 请参阅 快速入门:使用 Azure CLI部署 Azure Kubernetes 服务(AKS)群集。
- Azure Managed Lustre 部署。 请参阅 Azure Managed Lustre 文档。
- AKS 群集与 Azure 托管 Lustre 虚拟网络之间的网络连接。 有关配置选项,请参阅下面的 网络体系结构规划 。
规划 AKS 部署
部署 Azure Kubernetes 服务时,多个选项会影响 AKS 和 Azure 托管 Lustre 之间的操作。
确定要用于 AKS 的网络类型
AKS 支持多个网络模型,每个模型具有不同的功能和用例。 所有网络模型都适用于适用于 Kubernetes 的 Azure Lustre CSI 驱动程序,但它们对虚拟网络和群集设置有不同的要求。
有关为特定要求选择合适的网络模型的综合信息,请参阅 Azure Kubernetes 服务 CNI 网络概述。
在 Azure 门户中创建 AKS 群集时,你将看到以下网络选项:
建议的选项:
Azure CNI 覆盖层(建议)
- 使用逻辑上独立的 CIDR 范围为 Pod 节省 VNet IP 地址空间。
- 支持最大群集规模(每个节点 5000 个节点和 250 个 Pod)
- 简单的 IP 地址管理
- 最适合大多数情景
Azure CNI Pod 子网
- Pod 获得完整的 VNet 连接,可以通过其专用 IP 地址直接访问
- 需要更大的非分段 VNet IP 地址空间
- 如果需要直接外部访问 Pod IP,请选择此选项
旧选项(不建议用于新部署):
Azure CNI 节点子网(旧版,历史版本)
- VNet IP 的有限规模和低效使用
- 仅当特别需要群集的托管 VNet 时,才建议使用,请参阅 AKS 旧容器网络接口 (CNI)
Kubenet (停用)
- 2028年3月31日退休。 有关详细信息,请参阅 AKS 使用 Kubenet。
- 规模有限,需要手动路由管理
- 计划在停用日期之前迁移到 Azure CNI 覆盖层
有关网络模型的详细信息,请参阅 Azure Kubernetes 服务 CNI 网络概述。
确定 AKS 和 Azure Managed Lustre 互连的网络体系结构
Azure Managed Lustre 在专用虚拟网络中运行。 AKS 实例必须与 Azure 托管 Lustre 虚拟网络建立网络连接。 可通过两种常见方法在 Azure 托管 Lustre 和 AKS 之间配置网络:
- 在自己的虚拟网络中安装 AKS,并创建与 Azure Managed Lustre 虚拟网络的虚拟网络对等互连。
- 使用 AKS 中的“自带 Azure 虚拟网络” 选项,在 Azure Managed Lustre 虚拟网络的新子网中安装 AKS。
注意
不建议在 Azure 托管 Lustre 所在的同一子网中安装 AKS。
对等互连 AKS 和 Azure 托管 Lustre 虚拟网络
两个虚拟网络的对等互连选项的优点是将网络管理分为不同的特权角色。 对等互连还可以提供额外的灵活性,因为可以跨 Azure 订阅或区域进行实现。 虚拟网络对等互连需要两个网络之间的协调,以避免选择冲突的 IP 网络空间。
在 Azure Managed Lustre 虚拟网络中的子网中安装 AKS
在 AKS 中使用“自带 Azure 虚拟网络”功能在 Azure Managed Lustre 虚拟网络中安装 AKS 群集的选项在单独管理网络的应用场景中可能会很有利。 需要在 Azure Managed Lustre 虚拟网络中创建一个额外的子网,大小以满足您的 AKS 网络需求。
在 Azure 托管 Lustre 虚拟网络上预配 AKS 时,网络管理没有特权分离。 AKS 服务主体需要在 Azure 托管的 Lustre 虚拟网络上获得权限。
预配方法
Azure Lustre CSI 驱动程序支持两种预配方法:
动态预配(在 v0.3.0+中可用)
动态预配允许 CSI 驱动程序在持久卷声明创建时,按需自动创建 Azure 托管 Lustre 文件系统。
注意
动态预配从 Azure Lustre CSI 驱动程序版本 0.3.0 开始提供,目前为公共预览版。 有关详细信息,请参阅 v0.3.0 发行说明。
静态预配
静态预配使用现有的 Azure 托管 Lustre 文件系统。 此方法涉及:
- 创建引用现有 Lustre 群集的存储类
- 手动指定 Lustre 文件系统名称和 MGS IP 地址
- 适用于已有 Lustre 基础设施的场景
选择最适合用例的方法。 下面首先记录了动态预配,然后是静态预配说明。
动态预配(公共预览版)
公共预览版通知:动态预配功能目前为公共预览版。 某些功能可能不受支持,或者可能具有受限功能。
当创建持久卷声明时,动态资源调配会自动按需创建 Azure 托管 Lustre 文件系统。 此功能在 CSI 驱动程序版本 0.3.0 中可用。
动态预配的先决条件
Permissions
重要
在使用此 CSI 驱动程序动态创建 Azure 托管 Lustre 群集之前,kubelet 标识必须被授予正确的权限。
kubelet 标识需要以下权限:
- 对要在其中创建群集的资源组的读取和写入访问权限
- 如果需要,创建和管理子网的网络权限
- Azure 托管的 Lustre 服务权限
有关详细权限要求,请参阅 驱动程序参数文档。
网络要求
- Azure 托管 Lustre 群集的现有虚拟网络和子网
- 群集子网中可用的足够 IP 地址
- 合适的网络安全组规则以允许 Lustre 流量
创建用于动态预配的 AKS 群集
如果尚未创建 AKS 群集,请创建群集部署。 请参阅 使用 Azure 门户部署 Azure Kubernetes 服务(AKS)群集。
创建用于动态资源配置的虚拟网络对等互连
注意
如果在 Azure Managed Lustre 虚拟网络上的子网中安装了 AKS,请跳过此网络对等互连步骤。
AKS 虚拟网络是在 AKS 群集资源组的单独资源组中创建的。 通过前往 Azure 门户中的 AKS 群集,前往“属性”,然后查找基础结构资源组,可以查找此资源组的名称。 此资源组包含需要与 Azure 托管 Lustre 虚拟网络配对的虚拟网络。 它匹配模式<。>
要将 AKS 虚拟网络与 Azure Managed Lustre 虚拟网络进行对等互连,请参阅虚拟网络对等互连。
提示
由于MC_资源组和虚拟网络的命名,因此多个 AKS 部署中的网络名称可能相似或相同。 设置对等互连时,请小心选择想要选择的 AKS 网络。
连接到 AKS 群集进行动态预配
打开一个终端会话,访问 Azure CLI 工具并登录到 Azure 帐户:
az login登录到 Azure 门户。
查找 AKS 群集。 在“概述”窗格中,选择“连接”按钮,然后复制“下载群集凭据”的命令。
在终端会话中,粘贴命令以下载凭据。 该命令类似于:
az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>如果您的环境中没有 kubectl,请安装它:
az aks install-cli验证当前上下文是否是刚安装凭据的 AKS 群集,以及是否可以连接到该群集:
kubectl config current-context kubectl get deployments --all-namespaces=true
安装用于动态预配的驱动程序
若要安装适用于 Kubernetes 的 Azure Lustre CSI 驱动程序,请运行以下命令:
curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/azurelustre-csi-driver/main/deploy/install-driver.sh | bash
若要获取本地安装的示例命令,请参阅 在 Kubernetes 群集上安装 Azure Lustre CSI 驱动程序。
为动态预配创建存储类
创建一个名为 storageclass_dynprov_lustre.yaml 的文件,并将以下 YAML 内容复制进去。 根据您的环境需要,编辑参数:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: azurelustre-dynprov
provisioner: azurelustre.csi.azure.com
parameters:
sku-name: "AMLFS-Durable-Premium-125" # Choose appropriate SKU
zone: "1" # Specify zone if required for your SKU/location
maintenance-day-of-week: "Sunday"
maintenance-time-of-day-utc: "22:00"
location: "eastus" # Optional: defaults to AKS cluster location
resource-group: "my-resource-group" # Optional: defaults to AKS cluster RG
vnet-name: "my-vnet" # Optional: defaults to AKS cluster VNET
subnet-name: "my-subnet" # Optional: defaults to AKS cluster subnet
reclaimPolicy: Delete # Change to "Retain" to keep clusters after PVC deletion
volumeBindingMode: Immediate
---
# Optional: Resource quota to limit number of clusters
apiVersion: v1
kind: ResourceQuota
metadata:
name: pvc-lustre-dynprov-quota
spec:
hard:
azurelustre-dynprov.storageclass.storage.k8s.io/persistentvolumeclaims: "1"
将存储类应用到 AKS 群集:
kubectl apply -f storageclass_dynprov_lustre.yaml
为动态预配创建永久性卷声明
请创建一个名为 pvc_storageclass_dynprov.yaml 的文件,并复制以下 YAML 内容到其中:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-lustre-dynprov
spec:
accessModes:
- ReadWriteMany
storageClassName: azurelustre-dynprov
resources:
requests:
storage: 48Ti # Minimum size for AMLFS-Durable-Premium-125
将 PVC 应用到 AKS 集群:
kubectl apply -f pvc_storageclass_dynprov.yaml
监视集群创建
创建 Azure 托管 Lustre 群集可能需要 10 分钟或更多时间。 可以监视进度:
kubectl describe pvc pvc-lustre-dynprov
创建时,状态将显示 Pending 如下消息: Waiting for a volume to be created either by the external provisioner 'azurelustre.csi.azure.com'...
准备就绪后,它将具有Bound状态,并显示成功消息。
创建用于动态预配的 Pod
请创建一个名为 pod_echo_date_dynprov.yaml 的文件,并复制以下 YAML 内容到其中:
apiVersion: v1
kind: Pod
metadata:
name: lustre-echo-date-dynprov
spec:
containers:
- image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
name: lustre-echo-date-dynprov
command:
- "/bin/sh"
- "-c"
- "while true; do echo $(date) >> /mnt/lustre/outfile; sleep 1; done"
volumeMounts:
- name: lustre-storage
mountPath: /mnt/lustre
volumes:
- name: lustre-storage
persistentVolumeClaim:
claimName: pvc-lustre-dynprov
将 Pod 应用到 AKS 群集:
kubectl apply -f pod_echo_date_dynprov.yaml
验证动态预配
运行 Pod 后,可以验证动态创建的 Azure 托管 Lustre 文件系统是否已正确装载:
kubectl exec -it lustre-echo-date-dynprov -- df -h
您应该能看到 Azure 托管 Lustre 文件系统已装载在 /mnt/lustre。
清理动态资源
删除动态创建的资源:
kubectl delete pvc pvc-lustre-dynprov
如果存储类具有 reclaimPolicy: Delete,这也会删除 Azure 托管 Lustre 群集。 如果设置为 Retain“,则必须在不再需要时手动删除群集。
静态预配
静态预配允许通过手动创建必要的 Kubernetes 资源,在 AKS 群集中使用现有的 Azure 托管 Lustre 文件系统。
静态预配的先决条件
- 现有的 Azure Managed Lustre 文件系统。 有关创建 Azure 托管 Lustre 文件系统的详细信息,请参阅 创建 Azure 托管 Lustre 文件系统。
- Azure 托管 Lustre 群集中的 MGS IP 地址和内部文件系统名称
创建用于静态预配的 Azure 托管 Lustre 文件系统群集
如果尚未创建 Azure 托管 Lustre 文件系统群集,请立即创建群集。 有关说明,请参阅 使用 Azure 门户创建 Azure 托管 Lustre 文件系统。 静态预配需要现有的 Azure 托管 Lustre 文件系统。
创建用于静态预配的 AKS 群集
如果尚未创建 AKS 群集,请创建群集部署。 请参阅 使用 Azure 门户部署 Azure Kubernetes 服务(AKS)群集。
创建用于静态预配的虚拟网络对等互连
注意
如果在 Azure Managed Lustre 虚拟网络上的子网中安装了 AKS,请跳过此网络对等互连步骤。
AKS 虚拟网络是在 AKS 群集资源组的单独资源组中创建的。 通过前往 Azure 门户中的 AKS 群集,前往“属性”,然后查找基础结构资源组,可以查找此资源组的名称。 此资源组包含需要与 Azure 托管 Lustre 虚拟网络配对的虚拟网络。 它匹配模式<。>
要将 AKS 虚拟网络与 Azure Managed Lustre 虚拟网络进行对等互连,请参阅虚拟网络对等互连。
提示
由于MC_资源组和虚拟网络的命名,因此多个 AKS 部署中的网络名称可能相似或相同。 设置对等互连时,请小心选择想要选择的 AKS 网络。
连接到 AKS 群集进行静态预配
打开一个终端会话,访问 Azure CLI 工具并登录到 Azure 帐户:
az login登录到 Azure 门户。
查找 AKS 群集。 在“概述”窗格中,选择“连接”按钮,然后复制“下载群集凭据”的命令。
在终端会话中,粘贴命令以下载凭据。 该命令类似于:
az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>如果您的环境中没有 kubectl,请安装它:
az aks install-cli验证当前上下文是否是刚安装凭据的 AKS 群集,以及是否可以连接到该群集:
kubectl config current-context kubectl get deployments --all-namespaces=true
安装用于静态预配的驱动程序
若要安装适用于 Kubernetes 的 Azure Lustre CSI 驱动程序,请运行以下命令:
curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/azurelustre-csi-driver/main/deploy/install-driver.sh | bash
若要获取本地安装的示例命令,请参阅 在 Kubernetes 群集上安装 Azure Lustre CSI 驱动程序。
为静态预配创建并配置持久卷
要为现有 Azure Managed Lustre 文件系统创建持久性卷:
从 azurelustre-csi-driver 存储库中的 /docs/examples/ 文件夹中复制以下配置文件。 如果在 安装驱动程序时克隆了存储库,则已经有本地副本可用。
- storageclass_existing_lustre.yaml
- pvc_storageclass.yaml
如果不想克隆整个存储库,可以单独下载每个文件。 打开以下每个链接,复制文件的内容,然后将内容粘贴到具有相同文件名的本地文件中。
在 storageclass_existing_lustre.yaml 文件中,更新 Lustre 群集的内部名称和 Lustre 管理服务 (MGS) IP 地址。
这两个设置都显示在 Azure 门户的 Azure Managed Lustre 文件系统的“客户端连接”窗格中。
进行以下更新:
替换为
EXISTING_LUSTRE_FS_NAMEAzure 托管 Lustre 文件系统中 Lustre 群集的系统分配的内部名称。 内部名称通常是lustrefs。 内部名称不是在创建文件系统时为其指定的名称。建议的
mount命令包括以下地址字符串中突出显示的名称。
将
EXISTING_LUSTRE_IP_ADDRESS替换为 MGS IP 地址。
若要创建存储类和永久性卷声明,
kubectl请运行以下命令:kubectl create -f storageclass_existing_lustre.yaml kubectl create -f pvc_storageclass.yaml
创建用于静态预配的 Pod
创建一个使用 PVC 来挂载 Azure 托管的 Lustre 文件系统的 Pod。
请创建一个名为 pod_echo_date.yaml 的文件,并复制以下 YAML 内容到其中:
apiVersion: v1
kind: Pod
metadata:
name: lustre-echo-date
spec:
containers:
- image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
name: lustre-echo-date
command:
- "/bin/sh"
- "-c"
- "while true; do echo $(date) >> /mnt/lustre/outfile; sleep 1; done"
volumeMounts:
- name: lustre-storage
mountPath: /mnt/lustre
volumes:
- name: lustre-storage
persistentVolumeClaim:
claimName: pvc-lustre
将 Pod 应用到 AKS 群集:
kubectl apply -f pod_echo_date.yaml
验证静态预配
运行 Pod 后,可以验证是否已正确装载 Azure 托管 Lustre 文件系统:
kubectl exec -it lustre-echo-date -- df -h
您应该能看到 Azure 托管 Lustre 文件系统已装载在 /mnt/lustre。
若要在写入期间查看控制台中的时间戳,请运行以下命令:
kubectl logs -f lustre-echo-date
清理静态资源
完成操作之后,清理资源:
kubectl delete pod lustre-echo-date
kubectl delete pvc pvc-lustre
kubectl delete storageclass azurelustre-static
重要
这只会删除 Kubernetes 资源。 Azure 托管 Lustre 文件系统本身将继续存在,可以重复使用。
验证容器映像签名
Azure Lustre CSI 驱动程序对其容器映像进行签名,以允许用户验证其使用映像的完整性和来源。 签名使用公钥/私钥对,通过创建并添加到镜像的数字签名来证明微软构建了容器镜像。 本部分提供验证映像是否已由Microsoft签名的步骤。
了解 Kubernetes 系统组件中的映像安全性
Azure Lustre CSI 驱动程序使用的容器映像部署在命名空间中 kube-system ,该命名空间被视为 Kubernetes 中的受信任系统命名空间。 出于安全性和作原因,映像完整性策略通常不会在系统命名空间上强制执行,因为:
- 启动要求:系统组件(如 CSI 驱动程序)必须在策略强制实施系统(如 Gatekeeper 和 Ratify)可用之前启动。
-
受信任的组件:
kube-system中的映像是由受信任的提供程序管理的核心 Kubernetes 基础结构组件。 - 操作稳定性:针对策略实施组件本身执行的策略可能会影响集群的功能
但是,在部署之前,仍可以验证 CSI 驱动程序映像的完整性。
预部署映像验证
在部署 Azure Lustre CSI 驱动程序之前,可以使用Microsoft的公共签名证书验证容器映像的数字签名和真实性:
使用 Notation CLI 验证图像签名
下载 Notation CLI:
export NOTATION_VERSION=1.3.2 curl -LO https://github.com/notaryproject/notation/releases/download/v$NOTATION_VERSION/notation_$NOTATION_VERSION\_linux_amd64.tar.gz sudo tar xvzf notation_$NOTATION_VERSION\_linux_amd64.tar.gz -C /usr/bin/ notation下载Microsoft签名公共证书:
curl -sSL "https://www.microsoft.com/pkiops/certs/Microsoft%20Supply%20Chain%20RSA%20Root%20CA%202022.crt" -o msft_signing_cert.crt将证书添加到 notation CLI:
notation cert add --type ca --store supplychain msft_signing_cert.crt检查表示法中的证书:
notation cert ls命令的输出如以下示例所示:
STORE TYPE STORE NAME CERTIFICATE ca supplychain msft_signing_cert.crt为 Azure Lustre CSI 驱动程序映像创建 trustpolicy 文件:
创建名为
trustpolicy.json:{ "version": "1.0", "trustPolicies": [ { "name": "supplychain", "registryScopes": [ "*" ], "signatureVerification": { "level" : "strict" }, "trustStores": [ "ca:supplychain" ], "trustedIdentities": [ "x509.subject: CN=Microsoft SCD Products RSA Signing,O=Microsoft Corporation,L=Redmond,ST=Washington,C=US" ] } ] }使用表示法验证 Azure Lustre CSI 驱动程序映像:
notation policy import trustpolicy.json export NOTATION_EXPERIMENTAL=1 # Verify the controller image notation verify --allow-referrers-api mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi:v0.3.0成功验证的输出如以下示例所示:
Successfully verified signature for mcr.microsoft.com/oss/v2/kubernetes-csi/azurelustre-csi@sha256:a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456
应用程序工作负荷映像完整性
为了增强生产环境中的安全性,请考虑启用 AKS 映像完整性来自动验证应用程序工作负载的容器映像签名。 虽然命名空间中的 kube-system CSI 驱动程序映像通常被排除在策略强制实施之外,但可以为应用程序命名空间配置映像完整性策略。
若要详细了解如何为应用程序工作负荷实现映像完整性策略,请参阅 Azure Kubernetes 服务(AKS)中的映像完整性。
Troubleshooting
若要排查 Azure Lustre CSI 驱动程序的问题,请参阅 GitHub 存储库中的 CSI 驱动程序故障排除指南 。
常见问题包括:
- AKS 与 Azure 托管 Lustre 之间的网络连接问题 - 验证虚拟网络对等互连或子网配置
- 配置不正确 - 在存储类配置中仔细检查 MGS IP 地址和文件系统名称
- Pod 计划问题 - 确保为节点池使用 Ubuntu Linux OS SKU,因为这是唯一受支持的配置
- 权限问题 - 验证 AKS 服务主体是否对 Azure 托管 Lustre 虚拟网络具有适当的权限
对于动态预配特定问题:
- 身份验证/授权错误 - 验证用于创建 Azure 托管 Lustre 群集的 kubelet 标识权限
- SKU 和区域验证错误 - 确保区域支持指定的 SKU,区域配置正确
- 网络 IP 地址可用性 - 确认目标子网中有足够的 IP 地址可用
- 配额限制 - 检查 Azure 托管 Lustre 群集的 Kubernetes 资源配额和 Azure 订阅配额
有关其他故障排除资源,请参阅: