kubernetes存储—动态pv、StatefulSet控制器

本文介绍了Kubernetes中的动态PersistentVolume(PV)及其工作原理,通过NFS动态分配PV的步骤进行演示。此外,详细阐述了StatefulSet控制器如何维护Pod的拓扑和存储状态,以及在部署中如何确保有序启动和稳定网络标识。
摘要由CSDN通过智能技术生成

1.动态pv

pv有俩种提供方式,静态和动态。前面我们讲述了静态方式,静态pv:由集群管理员创建多个pv,它们携带着真实存储信息。我们能看出静态方式是有缺陷的,当多个用户,有多种不同的需求,我们都要手动的为他配置存储。这样是非常繁琐的。所以我们需要用动态的。
动态pv: 当管理员创建的静态PV都不匹配用户的PVC时,集群可能会尝试专门地供给 volume给PVC。这种供给基于StorageClass。

(1)StorageClass提供了一种描述存储类(class)的方法,不同的class可能会映射到不同的服务质量等级和备份策略或其他策略等。
(2)每个 StorageClass 都包含 provisioner、parameters 和 reclaimPolicy 字段, 这些字段会在 StorageClass需要动态分配 PersistentVolume 时会使用到。 
(3)StorageClass的属性
Provisioner(存储分配器):用来决定使用哪个卷插件分配 PV,该字段必须指定。可以指 定内部分配器,也可以指定外部分配器。外部分配器的代码地址为: kubernetes- incubator/external-storage,其中包括NFS和Ceph等。
Reclaim Policy(回收策略):通过reclaimPolicy字段指定创建的Persistent Volume的回收 策略,回收策略包括:Delete 或者 Retain,没有指定默认为Delete。
更多属性查看:https://kubernetes.io/zh/docs/concepts/storage/storage-classes/
NFS Client Provisioner是一个automatic provisioner,使用NFS作为存储,自动创建PV和对应的 PVC,本身不提供NFS存储,需要外部先有一套NFS存储服务。
PV以 ${namespace}-${pvcName}-${pvName}的命名格式提供(在NFS服务器上)
PV回收的时候以 archieved-${namespace}-${pvcName}-${pvName} 的命名格式(在NFS 服务器上)
nfs-client-provisioner源码地址:https://github.com/kubernetes-incubator/external- storage/tree/master/nfs-client

NFS动态分配PV方法步骤如下:
搜索nfs-client-provisioner源码地址:https://github.com/kubernetes-incubator/external- storage/tree/master/nfs-client,根据官方教程一步步来实现。
在这里插入图片描述
在这里插入图片描述
开始配置之前,先将环境清理一下:
在这里插入图片描述
在这里插入图片描述

cd vol
kubectl delete -f .   ##将上次实验设置的内容都清除一下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开始配置:
(1)首先创建rbac.yml文件,此文件是基于角色,用来做认证的。

cd vol 
mkdir nfs-client
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值