本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

创建 Kubernetes 持久卷和存储类

当部署需要保留数据的应用程序时,您需要创建持久化存储。持久化存储允许您将应用程序数据存储在运行应用程序的 Pod 之外。这种存储实践使您能够维护应用程序数据,即使应用程序的 Pod 失败。

本节中的文档假设您理解 Kubernetes 的持久卷、持久卷声明和存储类的概念。有关更多信息,请参阅存储工作原理部分。

先决条件

要设置持久存储,需要`Manage Volumes` 角色

如果您为托管在云中的集群配置存储,则存储和集群主机必须具有相同的云提供商。

要使用 Rancher 配置新的存储,必须启用云提供商。有关启用云提供商的详细信息,请参阅此页面。

要将现有的持久存储附加到集群,云提供商不需要启用。

设置现有存储

设置现有存储的整体工作流程如下:

  1. 设置您的持久存储。这可以是基础设施提供商中的存储,也可以是您自己的存储。

  2. 添加一个引用持久存储的持久卷 (PV)。

  3. 添加一个引用 PV 的持久卷声明 (PVC)。

  4. 将 PVC 挂载为工作负载中的一个卷。

有关详细信息和先决条件,请参阅 此页面。

在 Rancher 中动态配置新的存储

新存储的整体工作流程如下:

  1. 添加一个 StorageClass 并配置它以使用您的存储提供商。StorageClass 可以指基础设施提供商的存储,也可以指您自己的存储。

  2. 添加一个引用存储类的持久卷声明 (PVC)。

  3. 将 PVC 挂载为您的工作负载的卷。

有关详细信息和先决条件,请参阅 此页面。

SUSE Storage 存储

SUSE Storage 是适用于 Kubernetes 的轻量级、可靠且易于使用的分布式块存储系统。

Longhorn 是免费的开源软件。最初由 Rancher Labs 开发,现在作为云原生计算基金会的沙箱项目进行开发。可以通过 Helm、kubectl 或 Rancher UI 在任何 Kubernetes 集群上安装。

如果您有一个块存储池,Longhorn 可以帮助您为 Kubernetes 集群提供持久存储,而无需依赖云提供商。有关 Longhorn 功能的更多信息,请参阅 文档。

Rancher v2.5 简化了在 Rancher 管理的集群上安装 Longhorn 的过程。有关更多信息,请参见使用Longhorn的云原生存储

配置存储示例

我们提供了如何使用 NFS, vSphere,Amazon 的 EBS. 配置存储的示例。

GlusterFS Volumes

在将数据存储在 GlusterFS 卷的集群中,您可能会遇到一个问题,即在重新启动 kubelet 后,Pods 无法挂载卷。有关防止此问题发生的详细信息,请参阅 此页面。

iSCSI 卷

Rancher 启动的 Kubernetes 集群 中,将数据存储在 iSCSI 卷上,您可能会遇到一个问题,即 kubelet 无法自动连接到 iSCSI 卷。有关解决此问题的详细信息,请参阅 此页面。

hostPath 卷

K3s 和 RKE2 都支持使用 Rancher Local Path Provisioner 挂载 hostPath 卷。有关配置的信息,请根据您的发行版参考 K3s - 卷和存储RKE2 - 高级选项和配置

将 VMware vSphere 云提供程序从树内迁移到树外

Kubernetes 正在逐步停止维护树内的云提供程序。vSphere 有一个树外的云提供程序,可以通过安装 vSphere 云提供程序和云存储插件来使用。

有关如何从树内 vSphere 云提供程序迁移到树外的说明,以及迁移后如何管理现有虚拟机,请参考 此页面。