kubernetes学习笔记19:volumnsnapshot和pod volumn claim

k8s通过csi snapshot controller来实现存储快照功能,可以快速restore,可以快速复制以及迁移等操作。他设计理念跟PVC和pv很像,volumnsnapshot相当于PVC,volumnsnapshotclass相当于storageclass集群管理员,volumnsnapshotcontent相当于pv。

通过volumnsnapshot声明,,并指定volumnsnapshotclass对象,然后有集群组件动态生成快照和存储快照对象volumnsnapshotcontent对象。

怎么使用呢,PVC扩展字段spec.datasource可以指定volumnsnapshot对象,从而根据PVC对象生成新的pv对象,将存储快照数据恢复到新的pv对象中,这就是restore用法。

拓扑,是k8s集群中为管理node划分的一种位置关系,可以通过node的labels信息里面填写某一个node属于某一个拓扑,有三种常用:region云存储时候用到,available zone可用区,hostname单机维度,拓普域为node范围。

存储拓扑区域调度,将pv和PVC的binding操作和动态创建pv的操作做了delay,delay到pod调度结果出来之后再做这两个操作。

限制静态pv,添加一个volumnbindingmode延迟绑定,provisioner值是NO-provisioner,也就是告诉k8s它不会主动动态创建pv对象。动态限制pv,指定bindingmode和allowedtopologies,第二个字段有两层含义动态创建pv的时间,pv必须在这个可用区域可以访问,另一个含义就是调度器在发现使用它的PVC正好对应的storageclass的时候,调度pod要选择位于可用区的nodes。

总之就是在创建存储的要能被可用区访问,然后调度node的时候,node在可用区域内。

posted @ 2020-04-28 16:43  ppjj  阅读(102)  评论(0编辑  收藏  举报