将 Azure 托管 Lustre CSI 驱动程序与 Azure Kubernetes 服务 配合使用

在本文中,将学习如何使用 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 驱动程序版本页

先决条件

规划 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 节点子网(旧版,历史版本)

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)的图表,其中使用对等互连箭头连接。

在 Azure Managed Lustre 虚拟网络中的子网中安装 AKS

在 AKS 中使用“自带 Azure 虚拟网络”功能在 Azure Managed Lustre 虚拟网络中安装 AKS 群集的选项在单独管理网络的应用场景中可能会很有利。 需要在 Azure Managed Lustre 虚拟网络中创建一个额外的子网,大小以满足您的 AKS 网络需求。

在 Azure 托管 Lustre 虚拟网络上预配 AKS 时,网络管理没有特权分离。 AKS 服务主体需要在 Azure 托管的 Lustre 虚拟网络上获得权限。

显示具有两个子网(一个用于 Lustre 文件系统,一个用于 AKS)的 Azure Managed 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 群集进行动态预配

  1. 打开一个终端会话,访问 Azure CLI 工具并登录到 Azure 帐户:

    az login
    
  2. 登录到 Azure 门户

  3. 查找 AKS 群集。 在“概述”窗格中,选择“连接”按钮,然后复制“下载群集凭据”的命令。

  4. 在终端会话中,粘贴命令以下载凭据。 该命令类似于:

    az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
    
  5. 如果您的环境中没有 kubectl,请安装它:

    az aks install-cli
    
  6. 验证当前上下文是否是刚安装凭据的 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 群集进行静态预配

  1. 打开一个终端会话,访问 Azure CLI 工具并登录到 Azure 帐户:

    az login
    
  2. 登录到 Azure 门户

  3. 查找 AKS 群集。 在“概述”窗格中,选择“连接”按钮,然后复制“下载群集凭据”的命令。

  4. 在终端会话中,粘贴命令以下载凭据。 该命令类似于:

    az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
    
  5. 如果您的环境中没有 kubectl,请安装它:

    az aks install-cli
    
  6. 验证当前上下文是否是刚安装凭据的 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 文件系统创建持久性卷:

  1. 从 azurelustre-csi-driver 存储库中的 /docs/examples/ 文件夹中复制以下配置文件。 如果在 安装驱动程序时克隆了存储库,则已经有本地副本可用。

    • storageclass_existing_lustre.yaml
    • pvc_storageclass.yaml

    如果不想克隆整个存储库,可以单独下载每个文件。 打开以下每个链接,复制文件的内容,然后将内容粘贴到具有相同文件名的本地文件中。

  2. storageclass_existing_lustre.yaml 文件中,更新 Lustre 群集的内部名称和 Lustre 管理服务 (MGS) IP 地址。

    storageclass_existing_lustre.yaml 文件的屏幕截图,其中突出显示了要替换的值。

    这两个设置都显示在 Azure 门户的 Azure Managed Lustre 文件系统的“客户端连接”窗格中。

    Azure 门户中客户端连接窗格的屏幕截图。mount 命令中的 MGS IP 地址和“lustrefs”名称将突出显示。

    进行以下更新:

    • 替换为 EXISTING_LUSTRE_FS_NAME Azure 托管 Lustre 文件系统中 Lustre 群集的系统分配的内部名称。 内部名称通常是 lustrefs。 内部名称不是在创建文件系统时为其指定的名称。

      建议的 mount 命令包括以下地址字符串中突出显示的名称。

      客户端连接窗格上示例地址字符串的屏幕截图。Lustre 群集的内部名称突出显示。

    • EXISTING_LUSTRE_IP_ADDRESS 替换为 MGS IP 地址。

  3. 若要创建存储类和永久性卷声明, 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 验证图像签名

  1. 下载 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
    
  2. 下载Microsoft签名公共证书

    curl -sSL "https://www.microsoft.com/pkiops/certs/Microsoft%20Supply%20Chain%20RSA%20Root%20CA%202022.crt" -o msft_signing_cert.crt
    
  3. 将证书添加到 notation CLI

    notation cert add --type ca --store supplychain msft_signing_cert.crt
    
  4. 检查表示法中的证书

    notation cert ls
    

    命令的输出如以下示例所示:

    STORE TYPE  STORE NAME  CERTIFICATE 
    ca          supplychain msft_signing_cert.crt
    
  5. 为 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"
                ]
            }
        ]
    }
    
  6. 使用表示法验证 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 订阅配额

有关其他故障排除资源,请参阅: