存储卷管理
存储卷(PersistentVolume,简称PV)是Kubernetes集群的一种存储资源,用于抽象存储细节。PV由系统管理员管理,在Kubernetes集群上创建应用时,如需挂载持久化存储卷,请先在集群中创建持久化存储卷。
前提条件
- 以系统管理员登录平台。
创建存储卷
创建存储卷的步骤如下。
在左侧导航栏中选择“集群”。
单击集群名称,进入集群详细信息页面。
切换到“存储卷”页签,单击“创建存储卷”。
设置持久化存储卷的参数。
表 1 持久化存储卷参数
参数 配置说明 配置示例 持久化存储卷名称 持久化存储卷的名称,只能以小写字母或者数字开头。 vlm1 标签 PV的标签和注释,为可选项,通过key/value形式保存,单击加号可增加标签和注释信息。 - 注释 备注信息 - 容量 PV的容量,单位可选Gi或者Mi。 - 类型设置 PV的类型,支持以下类型:
- NFS:NFS(Network FileSystem的缩写,即网络文件系统)。Kubernetes中通过简单地配置就可以挂载NFS到Pod中,而NFS中的数据是可以永久保存的,并且支持同时写操作。Pod被删除时,Volume被卸载,内容被保留。这就意味着NFS能够允许我们提前对数据进行处理,而且这些数据可以在Pod之间相互传递。
- Hostpath:HostPath允许挂载Node上的文件系统到Pod里面去。如果Pod需要使用Node上的文件,可以使用HostPath类型的PV。
- GlusterFS:GlusterFS,允许将GlusterFS(一个开源网络文件系统)上的Volume安装到Pod中。Pod被删除时,Volume只是被卸载,内容被保留。GlusterFS能够允许我们提前对数据进行处理,而且这些数据可以在Pod之间“切换”。- 访问模式 PV的访问模式,访问模式包括以下几种:
- 多节点读写:该PV只能被单个节点以读写的方式映射。
- 多节点只读:该PV可以被多个节点以只读的方式映射。
- 单节点读写:该PV只能被单个节点以读写的方式映射。
对于NFS和GlusterFS类型的PV,访问模式可选三种访问模式中的任何一种,Hostpath类型的PV只支持单节点读写的访问模式。- 回收策略 PV的回收策略,可设置为以下两种:
- 手动回收:PV与PVC绑定后,删除PVC后PV中保存的数据不会被清除,并且允许人工处理。
- 自动回收:PV与PVC绑定后,删除PVC后将自动清除PV中保存的数据,之后可以被新的PVC使用,需要插件支持。
NFS和Hostpath类型的PV支持手动回收和自动回收策略,GlusterFS类型的PV只支持手动回收策略。- NFS服务器地址 NFS服务器的IP地址。 192.168.100.100 路径 NFS服务器中存储卷的路径。
路径以“/”开头。/vir/vlm 挂载选项 指定额外的挂载选项,例如“ro”、“soft”等。选项值不会进行校验,当输入值无效时会导致mount失败。 - Hostpath 主机路径。
路径以“/”开头。/vir/vlm GlusterFS 自定义服务端点 创建GlusterFS类型的PV前,需要先在项目视角下创建服务端点,此处请填写为创建的服务端点对象的名称。服务端点对象中包括GlusterFS中多个可用的服务器IP地址和端口,管理平台会选择其中一个可用的服务器进行挂载,如果选择的服务器不可用,将会自动选择下一个可用的服务器。 存储卷名称 GlusterFS服务端分配存储卷的名称。 - 挂载选项 指定额外的挂载选项,例如“ro”、“user_id”等。选项值不会进行校验,当输入值无效时会导致mount失败。 - 单击“立即创建”。
查看PV信息
PV创建后,在存储卷页面显示PV及其信息,信息说明如下:
名称:创建PV时指定的名称。
容量:存储卷的容量。
状态:PV的状态。
PV的状态有以下四种:
Available:可用资源,尚未被绑定到 PVC 上。
Bound:该卷已经被绑定。
Released:绑定的PVC 已经被删除,但该资源尚未被集群回收。
Failed:该卷的自动回收过程失败。
分配项目:匹配的PVC所在的项目名称。
分配对象:匹配的PVC名称。
编辑PV信息
单击PV名称,可进入PV的详细信息页面,详细信息页面展示PV资源的YAML信息,单击“编辑YAML”可编辑资源信息。
如果PV已经被PVC绑定,编辑PV信息(如访问模式和容量)不会解除其与PVC的绑定关系,但是可能会导致与对应的PVC信息不一致而导致无法正常使用,请谨慎操作。
删除和回收PV
如果PV已经不再使用,可将其删除以回收存储空间。