查看其它 2 个回答ynwssjx的回答

ynwssjxynwssjx系统架构师CMB

理解的不深,大致描述下,等高手来补充.
K8S中的持久性存储主要还是通过PV、PVC和StorageClass来实现。
对于无状态服务,存储可能是不必要的,但是对于由状态服务,需要各种类型的存储来保持状态。在K8S中,PV提供存储资源,PVC使用存储资源,二者是供应者和消费者的关系,那么服务是如何把数据存储到PV上的呢?
我们知道K8S中服务运行在POD中,因此在POD的YAML定义文件中,就需要定义PVC,并指定要关联的PVC名称,然后PVC会根据自身的YAML文件定义绑定合适的PV,流程就是:POD->PVC->PV,当然,这是静态供给方式,静态供给的特定就是先有PV再有PVC。
对于动态供给方式,就需要定义storageclass,并在存储类的YAML文件中声明存储卷供应者,如aws-ebs、ceph-rbd和cinder等,当POD需要存储的时候,再动态创建PV,其特点就是先PVC再PV;
当然,存储这块本身有很多需要考虑的地方,最佳答案还是官网:https://kubernetes.io/docs/concepts/storage/persistent-volumes/

这里有两个扩阅读,关于容器原生存储:
https://www.linuxfoundation.org/press-release/opensds-aruba-release-unifies-sds-control-for-kubernetes-and-openstack/
https://github.com/openebs/openebs

银行 · 2018-07-10
浏览9200

回答者

ynwssjx
系统架构师CMB
擅长领域: 云计算容器容器云

ynwssjx 最近回答过的问题

回答状态

  • 发布时间:2018-07-10
  • 关注会员:4 人
  • 回答浏览:9200
  • X社区推广