tangz edeba0c341 文档更新 5 лет назад
..
cephfs fa98a6337b 文档更新 5 лет назад
fc 7c2e640835 文档更新 5 лет назад
glusterfs 53397f3306 文档更新 5 лет назад
local 4e1f45d367 文档更新 5 лет назад
nfs 53397f3306 文档更新 5 лет назад
README.md edeba0c341 文档更新 5 лет назад

README.md

介绍

http://docs.kubernetes.org.cn/429.html

容器场景的4中存储方案:

1. 分布式文件存储
   - 开源: Glusterfs,Cephfs,Lustre,Moosefs,Lizardfs
   - 商业: EMC的isilon,IBM的GPFS

适合容器场景,但是性能问题比较突出

2. 分布式块存储
   - 开源: Ceph,Sheepdog
   - 商业: EMC的Scale IO,Vmware的vSAN

不适合容器场景,关键问题是缺失RWX的特性

3. Local-Disk

Local-Disk方案有明显的缺点,尤其是针对数据库,大数据类的应用。节点故障后,数据的恢复时间长,对业务影响范围广

4. 传统NAS

传统NAS也是一种文件存储,但是协议网关(机头)是性能瓶颈,传统NAS已经跟不上时代发展的潮流

Volume 类型

Kubernetes一共支持24种卷插件

Ceph

Ceph可以同时提供对象存储RADOSGW、块存储RBD、文件系统存储Ceph FS。
RBD解决了远程磁盘挂载的问题,CephFS 解决多个主机共享一个磁盘

Glusterfs

glusterfs/README.md

NFS

nfs/NFS使用指南.md

HostPath

hostPath允许挂载Node上的文件系统到Pod里面去

emptyDir

缺省情况下,EmptyDir 是使用主机磁盘进行存储的,也可以设置emptyDir.medium 字段的值为Memory,来提高运行速度,
但是这种设置,对该卷的占用会消耗容器的内存份额。
容器崩溃并不会导致 Pod 被从节点上移除,因此容器崩溃时 emptyDir 卷中的数据是安全的

PV、PVC、StorageClass三者的关系

#定义
PV 描述的是持久化存储数据卷
PVC描述的是Pod希望使用的持久化存储的属性。 比如,Volume 存储的大小,可读写权限等。
StorageClass 存储资源的抽象定义

#区别
PVC 可以理解为持久化存储的接口,提供了对存储的描述,但不提供具体实现;而PV来负责存储的具体实现。
StorageClass根据用户声明的存储使用量(PVC)来动态的创建对应的持久化存储卷(PV)

emptyDir、hostpath、local的区别

emptydir:
1. 使用内存作为emptyDir的可用存储资源
2. 在使用tmpfs文件系统作为emptyDir的存储后端时,如果遇到node节点重启,则emptyDir中的数据也会全部丢失。
   同时,你编写的任何文件也都将计入Container的内存使用限制,即empty dir方式保存的数据不能持久化。

hostpath与local相同点:
1. 能够提供pv/pvc/storage class的方式使用
2. 数据能持久化
3. 都需要在对应节点上创建映射的目录或文件,否则pod无法启动,报目录找不到错误。

hostpath与local不同点
1. hostpath从节点A调度到节点B,数据丢失,无法启动;local与nodeAffinity配合, 使pod正确在node上找到local volume避免跟hostpath一样找不到映射数据。
2. host path最适合单机k8s的测试,而local volume适合小规模集群的使用

参考

Kubernetes持久化存储方案:
https://www.kubernetes.org.cn/5128.html

浅谈 Kubernetes 数据持久化方案:
https://www.hi-linux.com/posts/14136.html

NFS文档: 
https://blog.csdn.net/shenhonglei1234/article/details/84996226

Ceph文档: 
http://docs.ceph.org.cn/start/
https://www.jianshu.com/p/cc3ece850433

关于Raid0,Raid1,Raid5,Raid10:
https://www.cnblogs.com/qiumingcheng/p/11226058.html

Ceph与Gluster之开源存储的对比:
https://www.cnblogs.com/happy-king/p/9193975.html