kubernetes 共享存储原理

共享存储原理


1、pv详解
pv作为存储资源,主要包括:存储能力、访问模式、存储类型、回收策略、后端存储类型等关键信息的设置。pv的关键配置参数如下:

  • 存储能力 capacity:storage=5Gi
  • 访问模式 access modes:RWO、ROX、RWX
  • 存储类别 class: storageclassname
  • 回收策略 reclaim policy:保留retain、回收recycle、删除delete

2、pvc详解
pvc作为用户对存储资源的需求申请,主要包括:存储空间申请、访问模式、pv选择条件和存储类别等信息。pvc的关键配置参数如下:

  • 资源请求resources:对存储资源请求,目前仅支持存储空间大小。
  • 访问模式access modes:三种模式与pv相同,RWO、ROX、RWX
  • 存储类别 class:
    注意:pvc和pv都受限与namespcae,只有相同namespace的pv才能与pvc绑定。

3、pv和pvc的生命周期,以下是生命周期的各个阶段

  • 1、资源供应 provisioning
  • 2、 资源绑定 binding
  • 3、 资源使用 using
  • 4、资源释放 releasing
  • 5、资源回收 reclaiming

4、storageclass详解
storageclass的定义主要包括名称、后端存储提供者provisioner、后端存储相关参数配置。

  • 提供者provisioner:描述后端资源的提供者,后端存储驱动。
  • 参数parameters:后端资源提供者的参数设置,

storageclass动态供应模式相对于静态供应模式的优点:

  • 管理员无需预先创建大量的PV作为存储资源
  • 用户申请PVC时无法保证容量与预制pv的完全匹配。

    5、glusterFS 部署

  • 安装glusterfs客户端,在需要使用glusterfs的node节点上
  • 安装glusterfs服务端,以容器的形式运行在每个node节点上,使用daemonset的方式进行部署
  • 部署Heketi服务:提供RESTful API管理 glusterFS卷,
  • 定义storageclass,提供者为glusterFS,配置hiketi服务地址,即可使用

通过storageclass创建pvc的模板:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/glusterfs
  labels:
    app: postgresql-persistent
  name: postgres-dev
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  storageClassName: gluster-dyn
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值