Cloud Native Storage 使用多个组件与 vSphere 存储进行集成。

下图显示了这些组件的交互方式。

CNS 使用 FCD、vSAN 文件共享和存储策略来创建持久卷。

Kubernetes 集群
Cloud Native Storage 环境中,会在 vSphere 中运行的虚拟机或节点集群上部署一个通用 Kubernetes 集群。在其上部署有状态应用程序时,Kubernetes 用户直接与集群进行交互。
注: 有关可在 vSphere with Tanzu 中运行的主管集群和 TKG 集群的信息,请参见 vSphere with Tanzu 配置和管理文档。
适用于 vSphere 的容器存储接口 (CSI)
要使用底层基础架构资源,集群需要具有 CSI 驱动程序。

vSphere CSI 是一个树外插件,可向容器 Orchestrator(如 Kubernetes)上的容器化工作负载公开 vSphere 存储。该插件支持 vSAN 和其他类型的 vSphere 存储。

vSphere CSI 与 vCenter Server 上的 CNS 控制平面进行通信,以便执行所有存储置备操作。vSphere CSI 支持以下功能:
  • 动态置备容器卷。
  • vSphere 第一类磁盘功能。
  • Kubernetes 区域。
  • 常规挂载和裸挂载。
  • 单个 vCenter Server 及多个数据中心和集群。
  • 从多个数据存储或数据存储集群置备。
  • vSAN 文件服务

在 Kubernetes 上,CSI 驱动程序与树外 vSphere 云提供程序接口 (CPI) 一起使用。CSI 驱动程序以容器映像的形式提供,必须由集群管理员进行部署。有关信息,请参见 GitHub 上 Kubernetes vSphere CSI 驱动程序文档中的驱动程序部署部分。

有关可在 vSphere with Tanzu 中运行的主管集群和 TKG 集群中所用 CSI 变体的信息,请参见 vSphere with Tanzu 配置和管理文档。

Cloud Native Storage 服务器组件
CNS 服务器组件或 CNS 控制平面驻留在 vCenter Server 中。它是 vCenter Server 管理的扩展,用于执行容器卷的置备和生命周期操作。
置备容器卷时,它与 vCenter Server 进行交互,以创建支持这些卷的存储对象。基于存储策略的管理功能可保证提供卷所需的服务级别。
CNS 还执行查询操作,以便允许您通过 vCenter Server 管理和监控容器卷及及其备用存储对象。
第一类磁盘 (FCD)
也称为增强型虚拟磁盘 (IVD) 或受管虚拟磁盘。它是与虚拟机无关的已命名虚拟磁盘。这些磁盘驻留在 vSAN、VMFS、NFS 或 vVols 数据存储上,并且支持 ReadWriteOnce 容器卷。

FCD 技术允许在虚拟机或 Pod 生命周期之外执行与持久卷相关的生命周期操作。如果虚拟机是 Kubernetes 节点,运行多个基于容器的应用程序,并为许多应用程序使用持久卷和虚拟磁盘,则 CNS 便于以容器和持久卷粒度执行生命周期操作。

vSAN 文件服务
它是提供文件共享的 vSAN 层。目前支持 NFSv3 和 NFSv4.1 文件共享。 Cloud Native Storage 对 ReadWriteMany 类型的持久卷使用 vSAN 文件共享。一个 ReadWriteMany 卷可以挂载到多个节点。卷可在跨 Kubernetes 节点或跨 Kubernetes 集群运行的多个 pod 或应用程序之间共享。
基于存储策略的管理
基于存储策略的管理是一种 vCenter Server 服务,它支持根据指定的存储要求置备持久性卷。置备后,服务会监控具有所需策略特性的卷的合规性。