vSphere IaaS control plane 支持处于 ReadWriteMany 模式的持久卷。借助 ReadWriteMany 支持,TKG 集群中运行的多个 Pod 或应用程序可以同时挂载单个卷。vSphere IaaS control plane 将 vSAN 文件共享支持的 CNS 文件卷用于 ReadWriteMany 持久卷。要使用 vSAN 共享,您需要在 vSAN 环境中设置 vSAN 文件服务,并在 主管 激活文件卷支持。

文件卷的注意事项

vSphere IaaS control plane 中为持久卷启用文件卷支持时,请记住以下注意事项。

  • Tanzu Kubernetes Grid 集群中的工作负载支持文件卷。主管 命名空间中的工作负载(如 vSphere Pod 和虚拟机服务虚拟机)不支持文件卷。
  • 在 Kubernetes 中请求 RWX 卷时,vSAN 文件服务会创建请求大小的基于 NFS 的文件共享和相应 SPBM 策略。每个 RWX 卷创建一个 vSAN 文件共享。VMware 支持每个 vSAN 文件服务集群 100 次共享,这意味着您拥有的 RWX 卷数不能超过 100 个。
  • 对于 TKG 集群,请使用 TKr 版本 1.22 或更高版本。

    有关信息,请参见 VMware Tanzu Kubernetes 版本发行说明

  • vSphere IaaS control plane 启用文件卷支持时,请注意潜在的安全漏洞:
    • 挂载卷时不进行加密。在数据通过网络传输时,可能会访问未加密的数据。
    • 文件共享使用访问控制列表 (ACL) 隔离主管命名空间中的文件共享访问。可能存在 IP 欺骗风险。
  • 遵循以下网络连接准则:
    • 如果在 vSphere IaaS control plane 中使用 NSX 进行网络连接,请确保 主管 命名空间已启用 NAT 模式。请参见在 主管 上创建并配置 vSphere 命名空间
    • 确保可从工作负载网络路由 vSAN 文件服务,并且在工作负载网络和 vSAN 文件服务 IP 地址之间没有 NAT。
    • 对 vSAN 文件服务和 vSphere IaaS control plane 使用通用 DNS 服务器。
  • 如果在启用了文件卷支持之后,稍后将其取消激活,则在集群中置备的现有 ReadWriteMany 持久卷仍不受影响且可用。您将无法创建新的 ReadWriteMany 持久卷。
vSAN 文件服务和 TKG 集群

为持久卷启用文件卷支持的工作流

按照以下过程启用文件卷支持。

  1. vSphere 管理员设置配置了 vSAN 文件服务的 vSAN 集群。
  2. vSphere 管理员可在 主管 中激活文件卷支持。

    请参见安装和配置 vSphere IaaS 控制平面文档中的更改主管上的存储设置

  3. DevOps 工程师置备将 PVC accessMode 设置为 ReadWriteMany 的持久卷。

    可以使用同一 PVC 置备多个 pod。

    例如:
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: my-pvc
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: gold
      resources:
        requests:
            storage: 3Gi