使用已有存储
本章节描述了如何在 Rancher 里为工作负载配置现有的持久化存储。请按照以下步骤配置持久卷和持久卷声明。
本章节假定您已了解 Kubernetes 持久卷和持久卷声明的概念,如果您想了解持久卷和持久卷声明的工作原理,请参考存储是如何工作的。
#
先决条件- 配置持久化存储前,请检查您的账户是否有
管理卷(Manage Volumes)
权限,具有该权限的角色可以配置持久化存储。 - 如果要在基础设施提供商托管的集群中设置存储,则需要保证存储和集群主机是来自同一个基础设施提供商。
#
设置持久化存储在 Rancher 中,创建 PV 并不会创建真正的存储卷,它只会创建一个 Kubernetes 资源,映射到现有的卷。因此,必须先配置存储,然后再创建 PV。
设置持久化存储设备的步骤将根据基础设施而有所不同。我们提供了一些例子来展示如何进行存储设置:NFS,vSphere 以及亚马逊 EBS。
#
添加持久卷- 在集群页面中,单击存储,打开下拉菜单,选择持久卷。
- 单击添加卷。
- 输入持久卷的名称。
- 根据使用的磁盘类型或服务选择
卷插件
。在基础设施提供商托管的集群中设置存储,请使用基础设施提供商的卷插件。例如,如果您有 Amazon EC2 集群,并且想要为其使用云存储,则必须使用Amazon EBS Disk
卷插件。 - 输入卷的 Capacity,单位是 GB。
- 填写插件配置表单。每种插件类型都需要特定于磁盘类型供应商的信息。有关每个插件的形式和所需信息的帮助,请参阅插件的服务文档以获取更多信息。
- 可选: 在自定义表单中,配置访问模式。该选项设置了可访问卷的节点数及节点的读写权限。在Kubernetes 文档中包含了一个列表,列出了可用插件支持的访问模式。
- 可选: 在自定义表单中,配置挂载选项。每个卷插件都可以在挂载过程中指定其命令行选项。有关可用的挂载选项,请查阅每个插件的供应商文档。
- 单击保存。
结果: 创建了新的存储卷。
#
添加持久卷声明- 进入包含要向其添加持久性批量声明的工作负载的项目。
- 单击卷页签,然后单击添加卷(在早于 v2.3.0 的版本中,可以单击导航栏上的工作负载,然后单击卷)。
- 输入卷声明的名称。
- 选择要将持久化存储添加到的工作负载的命名空间。
- 在使用现有的持久卷中,进入持久卷下拉列表并选择您创建的持久卷。
- 可选: 在自 定义中,选择要使用的访问模式。
- 单击创建。
结果: 创建了新的 PVC,可以把它附加到项目中任意的工作负载上。
#
挂载持久卷声明您可以在工作负载部署期间或创建工作负载之后挂载 PVC。
以下的步骤描述了如何将 PVC 分配给有状态的新工作负载:
- 在项目页面中,进入工作负载页签。
- 单击部署。
- 输入工作负载的名称。
- 在工作负载类型旁边, 单击更多选项。
- 单击StatefulSet(可选)配置 Pod 的数量。
- 选择将在其中部署工作负载的命名空间。
- 展开卷,并单击添加卷,选择使用现有的持久卷(声明)。
- 在持久卷声明中,选择创建的 PVC。
- 在挂载点中,输入工作负载将用来访问卷的路径。
- 单击启动。
结果: 部署工作负载后,它将向 Kubernetes Master 请求指定数量的磁盘空间。如果在部署工作负载时具有资源匹配且可用的 PV,则 Kubernetes Master 会将 PV 绑定到 PVC。
以下的步骤描述了如何将 PVC 分配给现有工作负载:
- 在项目页面中,进入工作负载页签.
- 进入要向其添加持久性存储的工作负载。工作负载类型应为有状态集合(StatefulSet)。单击 ...,选择编辑。
- 展开卷,然后单击添加卷,选择使用现有的持久卷(声明)。
- 在持久卷声明中,选择创建的 PVC。
- 在挂载点中,输入工作负载将用来访问卷的路径。
- 单击保存。
结果: 部署工作负载后,它将向 Kubernetes Master 请求指定数量的磁盘空间。如果在部署工作负载时具有资源匹配且可用的 PV,则 Kubernetes Master 会将 PV 绑定到 PVC。