视频来源:B站《(2022版)最新、最全、最详细的Kubernetes(K8s)教程,从K8s安装到实战一套搞定》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:(2022版)一套教程搞定k8s安装到实战 | 汇总_COCOgsta的博客-CSDN博客
Volume:NFS、CEPH、GFS
PersistentVolume:NFS、CEPH、GFS
K8s:Volume -> CEPH(管理员知道)。开发人员对volume不熟悉,因此引入了PV/PVC概念。
PV:由k8s配置的存储,PV同样是集群的一类资源,yaml定义。
PVC:对PV的申请,Persistent Volume Claim。
PV文档:kubernetes.io/docs/concep…
NFS类型的PV
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0003
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: slow
mountOptions:
- hard
- nfsvers=4.1
nfs:
path: /tmp
server: 172.17.0.2
复制代码
- persistentVolumeReclaimPolicy:Recycle,回收,rm -rf。Deployment -> PVC -> PV,Recycle。Retain,保留。Delete,PVC -> PV,删除PVC后,PV也会被删掉,这一类的PV,需要支持删除的功能,动态存储默认方式。
- capacity:PV的容量。
- volumeMode:挂载的类型,Filesystem,block
- accessModes:这个PV的访问模式。ReadWriteOnce,RWO,可以被单节点以读写的模式挂载。ReadWriteMany,RWX,可以被多节点以读写的形式挂载。ReadOnlyMany,ROX,可以被多个节点以只读的形式挂载。
- storageClassName:PV的类,可以说是一个类名,PVC和PV的这个名字一样,才能被绑定。
PV的状态:
- Available:空闲的PV,没有被任何PVC绑定。
- Bound:已经被PVC绑定
- Released:PVC被删除,但是资源没有被释放
- Failed:自动回收失败
首选创建了一个NFS的PV,nfs-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv001
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Recycle
storageClassName: nfs-slow
mountOptions:
- hard
- nfsvers=4.1
nfs:
path: /data/k8s-data/testDir
server: 192.168.1.22
复制代码
创建一个PVC,test-pvc.yaml,绑定到指定类型的PV:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: myclaim
spec:
accessModes:
- ReadWriteMany
volumeMode: Filesystem
resources:
requests:
storage: 2Gi
storageClassName: nfs-slow
复制代码
更改deployment使用PVC类型的volume
volumeMounts:
- mountPath: /tmp/pvc
name: pvc-test
volumes:
- name: pvc-test
persistentVolumeClaim:
claimName: myclaim # PVC的名称
复制代码
很多情况下:
创建PVC之后,一直绑定不上PV(Pending):
- PVC的空间申请大小大于PV的大小
- PVC的StorageClassName没有和PV的一致
- PVC的accessModes和PV的不一致
创建挂载了PVC的Pod之后,一直处于Pending的状态:
- PVC没有被创建成功,或者被创建
- PVC和Pod不在同一个Namespace
删除PVC后,k8s会创建一个用于回收的Pod,根据PV的回收策略进行PV的回收,回收完后PV的状态就会变成可被绑定的状态也就是空闲状态,其他的Pending状态的PVC如果匹配到了这个PV,他就能和这个PV进行绑定。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。