vSphere with Tanzu 使用存储策略与环境中可用的共享数据存储(包括 VMFS、NFS、vSAN 或 vVols 数据存储)集成。这些策略表示数据存储,并管理控制平面虚拟机、pod 临时磁盘、容器映像和持久存储卷等对象的存储位置。如果使用 Tanzu Kubernetes 集群,则存储策略还会规定 Tanzu Kubernetes 集群节点的部署方式。

在启用 vSphere with Tanzu 之前,需要创建主管集群和命名空间要使用的存储策略。

根据您的 vSphere 存储环境和 DevOps 的需求,可以创建多个存储策略来表示不同的存储类。

例如,如果 vSphere Pod 挂载全部三种类型的虚拟磁盘且您的 vSphere 存储环境包含三类数据存储(Bronze、Silver 和 Gold),则可以为所有数据存储创建存储策略。然后,可以对临时和容器映像虚拟磁盘使用 Bronze 数据存储,对持久卷虚拟磁盘使用 Silver 和 Gold 数据存储。

vSphere Pod 挂载三种类型的虚拟磁盘:持久卷虚拟磁盘、容器映像虚拟磁盘和临时虚拟磁盘。

有关存储策略的常规信息,请参见《vSphere 存储》文档中的“基于存储策略的管理”一章。有关创建存储策略的信息,请参见为 vSphere with Tanzu 创建存储策略

临时虚拟磁盘

vSphere Pod 和在 Tanzu Kubernetes 集群中运行的 pod 需要在其操作期间使用临时存储来存储日志、emptyDir 卷和 ConfigMaps 等 Kubernetes 对象。此临时存储或暂时存储在 pod 存在期间将始终存在。临时数据在容器重新启动后仍然存在,但一旦 pod 寿命终止,临时虚拟磁盘便会消失。

每个 pod 都有一个临时虚拟磁盘。在为 主管集群 配置存储时,vSphere 管理员使用存储策略定义所有临时虚拟磁盘的数据存储位置。

容器映像虚拟磁盘

pod 中的容器使用包含待运行软件的映像。pod 会将其容器使用的映像挂载为映像虚拟磁盘。pod 的生命周期结束后,映像虚拟磁盘将从 pod 中分离。

映像服务(ESXi 组件)负责从映像注册表中提取容器映像,并将其转换为虚拟磁盘以在 pod 内运行。

映像服务从映像注册表中提取容器映像并将其转换为要由 vSphere Pod 挂载的映像虚拟磁盘。

ESXi 可以缓存针对在 pod 中运行的容器下载的映像。使用此同一映像的后续 pod 将从本地缓存提取该映像,而不是从外部容器注册表提取。

与临时磁盘一样,vSphere 管理员在主管集群级别指定映像缓存的数据存储位置。请参见配置和管理主管集群更改 主管集群 上的存储设置

有关使用容器映像的信息,请参见对 vSphere with Tanzu 工作负载使用容器注册表

持久存储虚拟磁盘

某些 Kubernetes 工作负载需要持久存储来永久存储数据。要为 Kubernetes 工作负载置备持久存储,vSphere with Tanzu 将与云原生存储 (CNS) 集成,云原生存储是一个管理永久卷的 vCenter Server 组件。

持久存储可由 vSphere PodTanzu Kubernetes 集群和虚拟机使用。为使持久存储可供 DevOps 团队使用,vSphere 管理员将创建用于描述不同存储要求和服务类的虚拟机存储策略。然后,他们可以将存储策略分配给 vSphere 命名空间。请参见创建和配置 vSphere 命名空间更改命名空间上的存储设置

有关详细信息以及主管集群Tanzu Kubernetes 集群如何使用持久存储的详细信息,请参见在 vSphere with Tanzu 中使用持久存储置备和操作 TKGS 集群