使用 Managed Lustre CSI 驱动程序访问 GKE 上现有的 Managed Lustre 实例

本指南介绍了如何使用 Managed Lustre CSI 驱动程序连接到现有的 Managed Lustre 实例。这样,您就能够以受控且可预测的方式访问现有的 Managed Lustre 实例,将其用作有状态工作负载的卷。

多 NIC 支持,可实现高性能网络

对于运行 1.35.2-gke.1842000 版或更高版本的 GKE 集群,Managed Lustre CSI 驱动程序默认处于启用状态,可使用所有可用的网络接口卡 (NIC) 来提高吞吐量。此支持通过在网络接口之间分配 TCP 存储流量来聚合带宽。

如需使用多 NIC 支持,您的节点必须满足以下要求:

  • 用于 TCP 的标准 NIC:您的节点必须使用标准 NIC(例如 Google 虚拟 NIC (gVNIC) 或 VirtIO-Net)来处理 TCP 存储流量。
  • 同一 VPC:所有标准网卡都必须位于同一 VPC 网络中。
  • RDMA 注意事项:您的节点也可以连接 RDMA 网卡;不过,Managed Lustre CSI 驱动程序仅使用标准网卡来处理 TCP 存储流量。

如果您想停用多 NIC 支持,请参阅为 Lustre 停用多 NIC

Lustre 通信端口

GKE Managed Lustre CSI 驱动程序使用不同的端口与 Managed Lustre 实例进行通信,具体取决于您的 GKE 集群版本和现有的 Managed Lustre 配置。

  • 默认端口(推荐):对于运行 1.33.2-gke.4780000 版或更高版本的新 GKE 集群,驱动程序默认使用端口 988 进行 Lustre 通信。

  • 旧版端口(已弃用):在以下情况下,通过将 --enable-legacy-lustre-port 标志附加到 gcloud 命令来使用端口 6988

    • 早期 GKE 版本:如果您的 GKE 集群运行的版本低于 1.33.2-gke.4780000,则 --enable-legacy-lustre-port 标志可解决 GKE 节点上 gke-metadata-server 的端口冲突问题。
    • 现有 Lustre 实例:如果您要连接到使用 gke-support-enabled 标志创建的现有 Managed Lustre 实例,则无论集群版本如何,都必须在 gcloud 命令中添加 --enable-legacy-lustre-port如果没有此标志,您的 GKE 集群将无法挂载现有的 Lustre 实例。

您可以将新集群和现有集群配置为使用默认端口 988 或旧版端口 6988

准备工作

在开始之前,请确保您已执行以下任务:

  • 启用 Google Cloud Managed Lustre API 和 Google Kubernetes Engine API。
  • 启用 API
  • 如果您要使用 Google Cloud CLI 执行此任务,请安装初始化 gcloud CLI。如果您之前安装了 gcloud CLI,请通过运行 gcloud components update 命令来获取最新版本。较早版本的 gcloud CLI 可能不支持运行本文档中的命令。

设置环境变量

设置以下环境变量:

export CLUSTER_NAME=CLUSTER_NAME
export PROJECT_ID=PROJECT_ID
export NETWORK_NAME=LUSTRE_NETWORK
export LOCATION=ZONE

替换以下内容:

  • CLUSTER_NAME:集群的名称。
  • PROJECT_ID:您的 Google Cloud 项目 ID
  • LUSTRE_NETWORK:GKE 集群和Managed Lustre 实例所在的共享 Virtual Private Cloud 网络。
  • ZONE:GKE 集群的地理可用区,例如 us-central1-a

配置 Managed Lustre CSI 驱动程序

本部分介绍了如何启用和停用 Managed Lustre CSI 驱动程序。

在新 GKE 集群上启用 Managed Lustre CSI 驱动程序

以下部分介绍了如何在新的 GKE 集群上启用 Managed Lustre CSI 驱动程序。

使用默认端口 988

如需在创建运行 1.33.2-gke.4780000 版或更高版本的新 GKE 集群时启用 Managed Lustre CSI 驱动程序,请运行以下命令:

Autopilot

gcloud container clusters create-auto "${CLUSTER_NAME}" \
    --location=${LOCATION} \
    --network="${NETWORK_NAME}" \
    --cluster-version=${CLUSTER_VERSION} \
    --enable-lustre-csi-driver

标准

gcloud container clusters create "${CLUSTER_NAME}" \
    --location=${LOCATION} \
    --network="${NETWORK_NAME}" \
    --cluster-version=${CLUSTER_VERSION} \
    --addons=LustreCsiDriver

使用旧版端口 6988

如需在创建运行低于 1.33.2-gke.4780000 版本的新的 GKE 集群时启用 Managed Lustre CSI 驱动程序,请运行以下命令:

Autopilot

gcloud container clusters create-auto "${CLUSTER_NAME}" \
    --location=${LOCATION} \
    --network=