可以将 vSAN 数据持久性 平台用于需要持久存储的现代有状态服务。该平台提供了一个框架,使第三方能够将其服务应用程序与底层 vSphere 基础架构集成,以便第三方软件可以在 vSphere with Tanzu 上以最佳方式运行。

使用 vSAN 数据持久性 的优势如下:

自动化服务部署和扩展
使用 vSphere Client,管理员可以在 主管集群 上安装和部署现代有状态服务,并向 DevOps 工程师授予对服务命名空间的访问权限。DevOps 工程师可以通过 Kubernetes API 以自助方式动态置备和扩展有状态服务的实例。
服务监控与 vCenter Server 集成
合作伙伴可以构建与 vCenter Server 集成的仪表板插件。使用 UI 插件, vSphere 管理员可以管理和监控有状态服务。此外, vSAN 还为这些集成的第三方服务提供了运行状况和容量监控功能。
使用 vSAN Direct 优化存储配置
利用 vSAN Direct,现代有状态服务可直接与底层直连存储连接,从而优化 I/O 并提高存储效率。
平台支持以下类型的服务:
  • 对象存储,例如 MinIO。
  • NoSQL 数据库,也称为非关系数据库。
  • 传统数据库。

vSphere 无共享存储

大多数现代有状态服务采用无共享架构 (SNA)。它们使用非复制的本地存储,并提供自己的存储复制、压缩和其他数据操作。因此,当底层存储执行相同的操作时,不会给这些服务带来优势。

为避免重复操作,vSAN 数据持久性 平台提供了两个具有优化数据路径的 vSAN 解决方案。持久服务可以在具有 SNA 存储策略的 vSAN 上运行,也可以在称为 vSAN Direct 的多半为原始的本地存储上运行。

使用 vSAN 数据持久性平台的 vSAN 和 vSAN-Direct
具有 SNA 存储策略的 vSAN
利用此技术,可以将分布式复制 vSAN 数据存储与 vSAN 主机本地 SNA 策略结合使用。因此,SNA 服务应用程序可以控制放置并接管维护数据可用性职责。利用该技术,持久服务可以轻松地将其计算实例和存储对象共同放在同一个物理 ESXi 主机上。利用主机本地放置,可以在服务层(而不是存储层)执行复制等操作。

计算实例(如 pod)先在 vSAN 集群中的一个节点上启动。然后,使用 vSAN SNA 策略创建的 vSAN 对象会自动将其所有数据放在运行该 pod 的同一节点上。

以下示例说明了对其持久卷使用 SNA 存储类的应用程序的存储部署。vSAN 可以选择节点上的任何磁盘组用于放置持久卷。

数据副本总数 = 3

所需 Fault Tolerance = 2

保证可容许的实际故障数 = 2

对其持久卷使用 SNA 存储类的应用程序部署

vSAN Direct
尽管具有 SNA 存储策略的 vSAN 可以将数据放到计算实例本地,但应用程序和物理存储设备之间的分布式 vSAN 数据路径存在开销。利用 vSAN Direct,有状态服务应用程序可以通过更直接的数据路径访问多半为原始的非 vSAN 本地存储,从而提供了性能最佳的解决方案。
利用 vSAN Direct,vSphere 管理员可以声明主机本地设备,然后管理并监控设备。 vSAN Direct 可直观呈现设备运行状况、性能和容量。在声明的每个本地设备上, vSAN Direct 都会创建一个独立的 VMFS 数据存储,并将其作为应用程序的放置选项提供。 vSAN Direct 管理的 VMFS 数据存储在 Kubernetes 中作为存储池提供。在 vSphere Client 中,它们显示为 vSAN Direct 数据存储。
下图展示了持久卷放置在 vSAN Direct 磁盘本地。
显示持久卷放置在 vSAN Direct 磁盘本地

何时使用具有 SNA 的 vSANvSAN Direct

请按照以下常规建议确定要使用哪种类型的 vSAN
  • 当您希望云原生有状态应用程序与其他常规虚拟机或 Kubernetes 工作负载共享物理基础架构时,请使用具有 SNA 的 vSAN。每个工作负载都可以定义自己的存储策略,并且可以从单个集群中充分利用这两个领域。
  • 如果要为无共享云原生服务创建专用硬件集群,请使用 vSAN Direct

vSAN 数据持久性 平台操作者

vSAN 数据持久性 平台 (vDPP) 操作者是一个组件,负责运行和管理与 vSphere 集成的合作伙伴有状态服务。vDPP 操作者向 vSphere 管理员提供可用的有状态服务。当 vSphere 管理员启用持久服务(例如,MinIO)时,vDPP 操作者会为主管集群上的服务部署应用程序特定的操作者。

应用程序特定的操作者由第三方提供,并且必须符合 vDPP。该操作者通常提供一个 CRD,为 Kubernetes 用户实例化实例提供了自助接口。vSphere with Tanzu 使用此操作者和 CRD 置备新的服务实例,并通过有状态服务层管理和监控这些实例。其中大多数操作者都使用有状态集部署其实例。

vDPP 操作者为命名空间上的服务部署操作者

vSphere 管理员启用服务后,将出现以下行为。
  • vDPP 操作者激活服务特定的操作者。
  • 服务特定的操作者注册 UI 插件。
  • 创建存储优化的存储策略。

vSAN 数据持久性 平台的配置限制

VMware 在 VMware 最高配置工具中提供了配置限制。

vSAN 数据持久性 最高配置 限制
每个 vSAN 数据持久性 平台的最大持久卷数 1000
vSAN 数据持久性 平台上每个服务实例的最大持久卷数 60 到 80