K8s 存储

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中将存储资源与计算资源分开管理的设计体系

转载于:https://www.cnblogs.com/jacksonxiao/p/11299181.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值