当前位置: 首页 > news >正文

k8s的volume

一、volume介绍

        volume是Pod中能够呗多个容器访问的共享目录。Kubernetes的Volume概念、用途和目的与Docker的Volume比较类似,但两者不能等价。首先,Kubernetes中的Volume定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下;其次,Kubernetes中的Volume与Pod的生命周期相同,但与容器的生命周期不相关,当容器中止或者启动时,Volume中的数据也不会丢失。Kubernetes支持多种类型的Volume,例如GlusterFS、Ceph等先进的分布式文件存储。Volume的使用也比较简单,在大多数情况下,先在Pod上声明一个Volume,然后在容器里引用Volume并Mount到容器里某个目录上

总结来说:

        为了保证数据的持久性,必须保证数据在外部存储不在docker容器中,为了实现数据的持久性存储,在宿主机和容器内做映射,可以保证在容器的生命周期结束,数据依旧实现持久性存储。但是在k8s中,由于pod分布在各个不同的节点之上,并不能实现不同节点之间持久性数据的共享,并且,在节点故障时,可能会导致数据的永久性丢失。为此,k8s就引入了外部存储卷的功能

k8s volume支持的类型

        kubectl explain pod.spec.volumes

常用分类

        emptyDir(临时目录):pod删除,数据也会被清除,这种存储成为emptyDIr,用于数据的临时存储

        hostPath(宿主机目录映射):可以持久化,但不可以跨主机

        本地的SAN(ISCSI,FC)、NAS(nfs,cifs,http)存储

        分布式存储(glusterfs,rbd,cephfs)

        云存储(EBS,Azure,Disk)

总结:

        k8s要使用存储卷,需要2步:

        1.在pod定义volume,并指明关联到那个存储设备

        2.在容器使用volume mount进行挂载

二、emptyDir存储卷

        一个emptyDir第一次创建是在一个pod被指定到具体node的时候,并且会一直存在pod的生命周期当中,正如它的名字一样,它初始化是一个空目录,pod中的容器都可以读写这个目录,这个目录可以被挂到各个容器相同或者不相同的路劲下。当一个pod因为任何原因被一尺的时候,这些数据会被永久删除。注意:一个容器崩溃了不会导致数据的丢失,因为容器的崩溃并不移除pod。

emptyDir

http://www.xdnf.cn/news/172081.html

相关文章:

  • Alibaba Cloud Linux 3.2104 LTS 64位 容器优化版安装docker docker compose记录
  • MyBatis DTD [Element type “if“ must be declared]
  • Kafka HA集群配置搭建与SpringBoot使用示例总结
  • LeetCode -- Flora -- edit 2025-04-27
  • Spring AI Alibaba - MCP连接 MySQL
  • docker--docker的基本环境配置
  • Stable Diffusion 技术全景解析与行业竞争力分析
  • 小程序发布后,不能强更的情况下,怎么通知到用户需要去更新?
  • 图论---最大流(Dinic)
  • Golang 类型方法
  • 【2025最近Java面试八股】Spring中循环依赖的问题?怎么解决的?
  • 层级时间轮的 Golang 实现原理与实践
  • 环境DNA宏条形码技术,鱼类检测引物如何选择?
  • 基于知识库的客户服务工具
  • Unity Post Processing 小记 【使用泛光实现灯光亮度效果】
  • 2P4M-ASEMI机器人功率器件专用2P4M
  • ShardingSphere-Proxy数据隔离方案:不同用户操作不同的数据库
  • C#进阶学习(十五)关于特性的认识
  • Android10.0 Android.bp文件详解,以及内置app编写Android.bp文件
  • Spring 与 ActiveMQ 的深度集成实践(四)
  • 【大模型】图像生成 - Stable Diffusion 深度解析:原理、应用与实战指南
  • 基于STM32、HAL库的ADS1220IRVAR模数转换器ADC驱动程序设计
  • 服务器备份,服务器想要备份文件内容有哪些方法?
  • 【技术派后端篇】技术派并发访问性能优化
  • 多级缓存入门:Caffeine、Lua、OpenResty、Canal
  • 【上位机——MFC】文档
  • C语言结构体赋值与深拷贝
  • django admin 设置字段不可编辑
  • YOLO目标检测之模型剪枝
  • Go RPC 服务方法签名的要求