叶工好容1-kubernetes存储

这篇具有很好参考价值的文章主要介绍了叶工好容1-kubernetes存储。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Volume


数据持久化存储, pod与外部存储、pod与pod间、pod内多容器间的一种数据共享方式。

根据真实存储位置与Node的关系分为本地存储( emptyDir / hostPath)和外部存储( NFS/Ceph)。

本地存储:
emptyDir:与Pod同生同死的pod内使用的空存储。
hostPath: 本质是带状态的emptyDir,是拿node上的目录做为emptyDir存储。

外部存储,也是独立存储:
为了扩展和安全,我们也可以将数据存储到外部的远程磁盘上,需要依赖于分布式存储的基础设施。

Persistent Volume


PV是一种独立的k8s资源,它与pod没任何关系,是pod中通过PVC(Persistent Volume Claim)选择一个合适的PV与自身绑定的。不要简单认为PVC是为PV绑定做服务的,恰恰相反,PV只是PVC的一种实现。Pod在PVC中声明了所需存储资源的要求(存储大小、可读写权限等),PV Controller根据算法为其寻找匹配的PV并挂载到pod中。

PV根据使用方式分为3类:
Static PV (静态):运维人员提前声明好PV,使用时创建PVC,然后由pod来绑定。这里关注的主体是PV具体的对象。
Dynamic PV (动态):当PVC规模上去以后,静态方式已经无法维护,需要根据PVC使用需求直接创建PV。运维人员提前声明好StorageClass(PV模板),使用时创建PVC,然后由pod来绑定。这里关注的主体是PV的模板。
Local PV (本地):如果PV依赖于NFS、Ceph这种分布式存储,因为网络上的开销会带来性能损耗。像数据库这种对磁盘有高要求的场景,可以通过LocalPV的方式直接将PVC映射到宿主机的磁盘上。

hostPath VS Local PV
可以看到两者的本质是一样的,都是pod利用了宿主机的磁盘,功能上存在重复性,那么两者有什么区别呢?
简单说,Local PV就是为了解决hostPath的缺陷而存在的,因为当生产规模复杂度上去后,运维人员根本不会记得什么node上有什么样的目录文件,也就做不到hostPath的精准调度了,而通过Local PV将这些复杂目录以k8s对象形式来管理,简单明了了很多。

关于分布式存储


NFS:一种分布式的共享文件系统,有点像windows的共享文件夹,适合大文件、视频、图像的存储。这里不再赘述,因为对于k8s来说,NFS已经趋于被抛弃了。
Ceph:适合跨集群小文件存储,是一个最有名的私有云存储解决方案。但它本身的作用不仅仅在于对于k8s提供服务。
支持多种存储格式:
1、块存储RBD,应用于磁盘映射。
2、对象存储RGW,键值存储,上传下载数据
3、文件系统存储ceph-fs,共享文件形式来使用。

k8s存储解决方案


Rook:一种开源的云原生存储编排框架,可以在k8s中通过operator的方式来使用分布式存储,其本身是一种框架,除开Ceph以外可以对接多种存储,但Rook已经将对nfs以及cassandra的标记为移除,意味着Ceph是它当前唯一仍然在支持的方案。文章来源地址https://www.toymoban.com/news/detail-412545.html

到了这里,关于叶工好容1-kubernetes存储的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • kubernetes持久化存储卷

    pod有生命周期,生命周期结束后 pod 里的数据会消失(如配置文件,业务数据等)。 解决: 我们需要将数据与pod分离,将数据放在专门的存储卷上 pod在k8s集群的节点中是可以调度的, 如果pod挂了被调度到另一个节点,那么数据和pod的联系会中断。 解决: 所以我们需要与集群节点分

    2024年02月15日
    浏览(37)
  • 【Kubernetes存储篇】持久化存储PV、PVC详解

    官方中文参考文档: 1、PV、PVC是什么? PersistentVolume(PV) 是群集中的一块存储,可以是NFS、iSCSI、本地存储等,由管理员配置或使用存储类动态配置 。 PV定义了存储的容量、访问模式、持久化存储的类型等属性。PV的生命周期是独立于Pod的,即使Pod被删除,PV仍然存在,可以

    2024年02月09日
    浏览(47)
  • Kubernetes(k8s)实战:深入详解Volume,详解k8s文件同步存储

    Volume官网:https://kubernetes.io/docs/concepts/storage/volumes/ On-disk files in a Container are ephemeral, which presents some problems for non-trivial applications when running in Containers. First, when a Container crashes, kubelet will restart it, but the files will be lost - the Container starts with a clean state. Second, when running Containers to

    2024年02月13日
    浏览(41)
  • Kubernetes基础(二十三)-k8s持久化存储详解

    1.1 介绍 在容器中的磁盘文件是短暂的,当容器崩溃时,Kubelet会重新启动容器,但容器运行时产生的数据文件都将会丢失,之后容器会以最干净的状态启动。另外,当一个Pod运行多个容器时,各个容器可能需要共享一些文件,诸如此类的需求都可以使用Volume解决。Pod只需要通

    2024年03月17日
    浏览(41)
  • k8s之存储篇---数据卷Volume

    Kubernetes Volume(数据卷)主要解决了如下两方面问题: 数据持久性:通常情况下,容器运行起来之后,写入到其文件系统的文件暂时性的。当容器崩溃后,kubelet 将会重启该容器,此时原容器运行后写入的文件将丢失,因为容器将重新从镜像创建。 数据共享:同一个 Pod(容器

    2024年02月11日
    浏览(43)
  • k8s数据存储之Volume使用详解

    目录 一、什么是Volume 二、k8s中的Volume 三、k8s中常见的Volume类型 四、Volume 之 EmptyDir  4

    2024年01月21日
    浏览(37)
  • React+Redux 数据存储持久化

    yarn add @reduxjs/toolkit redux react-redux redux-persist 默认已经模块化了reducers,如下图所示 数据持续化存储github redux-persist redux工具 redux RTK redux官网 redux

    2024年02月16日
    浏览(47)
  • docker (五)-docker存储-数据持久化

    将数据存储在容器中,一旦容器被删除,数据也会被删除。同时也会使容器变得越来越大,不方便恢复和迁移。 将数据存储到容器之外,这样删除容器也不会丢失数据。一旦容器故障,我们可以重新创建一个容器,将数据挂载到容器里,就可以快速的恢复。 volume 卷 卷存储在

    2024年02月20日
    浏览(45)
  • 【pinia持久化存储】使用pinia和pinia-plugin-persistedstate依赖进行数据的持久化存储

    使用pinia和pinia-plugin-persistedstate依赖进行数据的持久化存储。 存储方式 : localStorage sessionStorage pinia-plugin-persistedstate 中文官网 pinia 中文官网 安装和使用 pinia ,请参考使用pinia文章。 安装 pinia-plugin-persistedstate : 使用前先将 pinia-plugin-persistedstate添加到pinia实例上。 在添加的时

    2023年04月17日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包