码迷,mamicode.com
首页 > 其他好文 > 详细

K8s 存储

时间:2019-08-04 19:19:40      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:-o   重要   docker   posix   host   本地   plugin   ice   flex   

Docker Volume 是针对容器层面的存储抽象,其volume的生命周期是通过docker engine来维护的。K8s Volume 则是应用层面的存储抽象,在K8s中通过Pod的概念将一组具有超亲密关系的容器组合到了一起形成了一个服务实例,为了保证一个Pod中某一个容器异常退出,被kubelet重建拉起旧容器产生的重要数据不丢,以及同一个Pod的多个容器可以共享数据,K8s在Pod层面定义了存储卷,也即通过.spec.volumes来声明Pod所要使用的volume类型。

而且K8s通过CRI接口解耦和docker engine的耦合关系,所以K8s的volume的生命周期理所当然由K8s来管理,因此K8s本身也有自己的volume plugin扩展机制。Pod .spec.volumes中的Volume类型做一个分类:

本地存储:emptydir/hostpath等,主要使用Pod运行的node上的本地存储

网络存储:in-tree(内置): awsElasticBlockStore/gcePersistentDisk/nfs等,存储插件的实现代码是放在k8s代码仓库中的;out-of-tree(外置): flexvolume/csi等网络存储inline volume plugins,存储插件单独实现,特别是CSI是volume扩展机制的核心发展方向。

Projected Volume: secret/configmap/downwardAPI/serviceAccountToken,将K8s集群中的一些配置信息以volume的方式挂载到Pod的容器中,也即应用可以通过POSIX接口来访问这些对象中的数据。

PersistentVolumeClaim与PersistentVolume体系,K8s中将存储资源与计算资源分开管理的设计体系

K8s 存储

标签:-o   重要   docker   posix   host   本地   plugin   ice   flex   

原文地址:https://www.cnblogs.com/jacksonxiao/p/11299181.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!