动态创建持久卷
本章节描述了如何为 Rancher 中的工作负载配置新的持久化存储。
本章节假定您已了解 Kubernetes 持久卷和持久卷声明的概念,如果您想了解持久卷和持久卷声明的工作原理,请参考存储是如何工作的。
#
先决条件- 配置持久化存储前,请检查您的账户是否有
管理卷(Manage Volumes)
权限,具有该权限的角色可以配置持久化存储。 - 如果要在基础设施提供商托管的集群中设置存储,则需要保证存储和集群主机是来自同一个基础设施提供商。并且必须启用 Cloud Provider。有关启用 Cloud Provider 的详细信息,请参阅文档。
- 确保存储提供者是已启用的。
Rancher 默认启用以下云服务存储卷:
名称 | 插件 |
---|---|
Amazon EBS Disk | aws-ebs |
AzureFile | azure-file |
AzureDisk | azure-disk |
Google Persistent Disk | gce-pd |
Longhorn | flex-volume-longhorn |
VMware vSphere Volume | vsphere-volume |
Local | local |
Network File System | nfs |
hostPath | host-path |
如果需要使用不在上述列表内的存储提供者,您需要使用功能开关来启用不被默认启动存储驱动。不在上述列表内的存储服务没有经过 Rancher 的测试和验证,属于实验性功能,Rancher 不能保证使用过程中是否会出现问题,请谨慎使用不在上表内的存储服务。
#
配置存储类- 单击Cluster Explorer,找到并单击要为其设置动态持久化存储卷的集群。
- 在集群页面中,单击存储,选择存储类,单击添加类。
- 输入存储类名称。
- 从提供者下拉列表中,选择要用于动态配置存储卷的服务。例如,您有一个 Amazon EC2 集群,并且想要为其使用云存储,请使用Amazon EBS Disk提供者。
- 在参数中,填写动态配置存储卷所需的信息。每个提供者需要不同的信息来动态供应存储卷。请查阅对应的服务文档以获取更多信息。
- 单击保存。
结果: 创建了新的存储类,可供 PVC 使用。
有关存储类参数的完整信息,请参阅Kubernetes 官方文档。
#
添加持久卷声明- 进入Cluster Manager到包含您要添加 PVC 的工作负载的项目。
- 在导航栏中,下拉资源,选择工作负载(在早于 v2.3.0 的版本中,在导航栏中选择工作负载)。然后选择卷页签,单击添加卷。
- 输入卷声明名称。
- 选择卷声明的命名空间。
- 在源中,单击使用存储类来置备新的持久卷。
- 单击存储类下拉菜单,然后选择您创建的存储类。
- 输入卷容量。
- 可选: 在自定义中,选择要使用的访问模式。
- 单击创建。
结果: 创建了新的 PVC,可以把它附加到项目中任意的工作负载上。
#
挂载持久卷声明您可以在工作负载部署期间或创建工作负载之后挂载 PVC。
以下的步骤描述了如何将 PVC 分配给有状态的新工作负载:
- 按照部署工作负载的流程来创建工作负载.
- 在工作负载类型中,选择StatefulSet,Pod 数量 为 1。
- 展开卷列表,并单击添加卷,选择添加一个新的持久卷(声明)。
- 在持久卷声明中,选择附加到存储类的新创建的持久卷声明。
- 在挂载点中,输入工作负载将用来访问卷的路径。
- 单击启动。
结果: 部署工作负载后,它将向 Kubernetes Master 请求指定数量的磁盘空间。如果在部署工作负载时具有资源匹配且可用的 PV,则 Kubernetes Master 会将 PV 绑定到 PVC。
以下的步骤描述了如何将 PVC 分配给现有工作负载:
- 进入要向其添加持久性存储的工作负载。
- 工作负载类型应为有状态集合(StatefulSet)。单击 ...,选择编辑。
- 展开卷,然后单击添加卷,选择添加一个新的持久卷(声明)。
- 在持久卷声明中,选择附加到存储类的新创建的持久卷声明。
- 在挂载点中,输入工作负载将用来访问卷的路径。
- 单击保存。
结果: 部署工作负载后,它将向 Kubernetes Master 请求指定数量的磁盘空间。如果在部署工作负载时具有资源匹配且可用的 PV,则 Kubernetes Master 会将 PV 绑定到 PVC。否则,Kubernetes 将会配置新的 PV,然后将新的 PV 绑定到 PVC。