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

在 SUSE Rancher Prime 中动态配置新的存储

本节描述了如何为Rancher中的工作负载配置新的持久存储。

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

新的存储通常由云提供商提供,例如Amazon EBS。然而,新的存储不一定要在云中。

如果您有一组块存储,并且不想使用云提供商,Longhorn 可以帮助您为 Kubernetes 集群提供持久存储。有关更多信息,请参见使用Longhorn的云原生存储

要为您的工作负载配置新的存储,请按照以下步骤操作:

先决条件

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

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

  • 必须启用云提供商。有关启用云提供商的详细信息,请参阅此页面。

  • 确保您的存储提供程序可以启用。

以下存储提供程序默认启用:

名称 插件

亚马逊 EBS 磁盘

aws-ebs

AzureFile

azure-file

AzureDisk

azure-disk

谷歌持久磁盘

gce-pd

VMware vSphere 卷

vsphere-volume

本地

local

网络文件系统

nfs

hostPath

host-path

要使用不在上述列表中的存储提供程序,您需要使用功能标志以启用不受支持的存储驱动程序。

1.添加一个存储类并配置它以使用您的存储。

这些步骤描述了如何在集群级别设置存储类。

  1. 单击 ☰ > 集群管理

  2. 转到您希望动态提供持久存储卷的集群,然后单击*探索*。

  3. 单击存储  存储类

  4. 单击*创建*。

  5. 输入您的存储类名称。

  6. 在*提供程序*下拉菜单中,选择您希望用于动态提供存储卷的服务。例如,如果您有一个亚马逊 EC2 集群并希望为其使用云存储,请使用`Amazon EBS Disk`提供程序。

  7. 在*参数*选项卡中,填写服务动态提供存储卷所需的信息。每个提供程序需要不同的信息来动态提供存储卷。请查阅服务的文档以获取有关如何获取此信息的帮助。

  8. 单击*创建*。

*结果:*存储类可供 PVC 使用。

有关存储类参数的完整信息,请参阅官方 Kubernetes 文档。

2.为使用 StatefulSet 部署的 Pods 使用存储类

StatefulSets 管理 Pods 的部署和扩展,同时为每个 Pod 保持一个粘性身份。在这个 StatefulSet 中,我们将配置一个 VolumeClaimTemplate。由 StatefulSet 管理的每个 Pod 将基于此 VolumeClaimTemplate 部署一个 PersistentVolumeClaim。PersistentVolumeClaim 将引用我们创建的 StorageClass。因此,当由 StatefulSet 管理的每个 Pod 部署时,它将绑定到使用其 PersistentVolumeClaim 中定义的 StorageClass 动态提供的存储。

  1. 单击 ☰ > 集群管理

  2. 前往您希望在工作负载中使用存储类的集群,然后点击 探索

  3. 在左侧导航栏中,点击 工作负载

  4. 单击*创建*。

  5. 点击 StatefulSet

  6. 卷声明模板 选项卡中,点击 添加声明模板

  7. 输入持久卷的名称。

  8. 存储类 字段中,选择将为由此 StatefulSet 管理的 Pods 动态提供存储的 StorageClass。

  9. 安装点 字段中,输入工作负载将用来访问卷的路径。

  10. 点击 启动

*结果:*当由 StatefulSet 管理的每个 Pod 部署时,它将向 Kubernetes 主节点请求指定数量的磁盘空间。如果在工作负载部署时有具有指定资源的 PV 可用,Kubernetes 主节点将把 PV 绑定到具有兼容 PVC 的 Pod。

要将 PVC 附加到现有工作负载,

  1. 单击 ☰ > 集群管理

  2. 前往您希望在工作负载中使用存储类的集群,然后点击 探索

  3. 在左侧导航栏中,点击 工作负载

  4. 前往将使用您选择的 StorageClass 提供的存储的工作负载,然后点击 ⋮ > 编辑配置

  5. 卷声明模板 部分,点击 添加声明模板

  6. 输入持久卷名称。

  7. 存储类 字段中,选择将为由此 StatefulSet 管理的 Pods 动态提供存储的 StorageClass。

  8. 安装点 字段中,输入工作负载将用来访问卷的路径。

  9. 单击 保存

*结果:*工作负载将向 Kubernetes 主节点请求指定数量的磁盘空间。如果在工作负载部署时有可用的具有指定资源的 PV,Kubernetes 主节点将把 PV 绑定到 PVC 上。如果没有,Rancher 将提供新的持久存储。