本章节描述了如何在 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。