【一起来学kubernetes】8、k8s中的Ephemeral-Storage详解

embedded/2025/3/14 22:55:42/

      • 前言
      • 分类
      • 配置与管理
        • 资源限制与请求:
        • 资源配额:
        • 驱逐机制:
      • 使用场景说明
      • 注意事项
      • 拓展

前言

K8s中的Ephemeral-Storage是指在Pod生命周期内可用的临时存储空间,Ephemeral-Storage是Pod可以使用的本地存储(如emptyDir、某些类型的日志、容器可写的层等)的总量。这些存储空间在Pod被删除或重新调度时会被清空,因此它通常用于存储临时数据,如缓存、临时文件或容器间的共享数据

分类

Ephemeral-Storage包括以下几种类型:

  • Container Writable Layer容器可写层,用于存储容器中产生的临时文件、缓存等。
  • Log Storage :K8s会将容器的标准输出和标准错误日志写入到节点上的日志文件中,这些日志文件也被视为Ephemeral-Storage的一部分。
  • EmptyDir Volume :EmptyDir的默认存储类型为磁盘,属于Ephemeral-Storage。但如果将EmptyDir的medium定义为Memory,则EmptyDir的大小将受Memory Limit限制。EmptyDir的数据存储在节点的本地文件系统中,其生命周期与Pod相同。当Pod被创建时,EmptyDir卷也会被创建,并在Pod被删除时一同被删除。

配置与管理

资源限制与请求:

在Pod的YAML定义中,可以通过resources.limits.ephemeral-storage和resources.requests.ephemeral-storage来设置Pod或容器可以使用的临时存储的最大量和请求量。

资源配额:

可以通过Resource Quota来限制一个命名空间中的Pod所使用的临时存储总量。

驱逐机制:

当Pod使用的临时存储超过限制时,kubelet会将其驱逐出节点,以保证不会耗尽节点上的磁盘空间。

使用场景说明

Ephemeral-Storage适用于以下场景:

临时数据共享 :当多个容器需要共享临时数据时,可以使用EmptyDir卷来实现。
缓存数据 :一些应用可能使用缓存来加速访问速度或减轻后端存储的负载。Ephemeral-Storage提供了一个地方来存储这些缓存数据。
临时工作目录 :使用EmptyDir卷可以确保每个容器都有自己的独立工作空间,用于存储临时文件或执行临时任务。
容器日志存储 :Kubernetes会将容器的标准输出(stdout)和标准错误(stderr)日志写入到节点上的日志文件中。这些日志文件占用了Ephemeral-Storage的一部分空间。
EmptyDir卷: EmptyDir是一种由Pod管理的临时存储卷,其生命周期与Pod相同。当Pod被创建时,EmptyDir卷也会被创建,并在Pod被删除时一同被删除。EmptyDir卷常用于存储Pod内部容器之间需要共享的数据,或者用于临时数据的存储。

注意事项

  • 由于Ephemeral-Storage是短暂的,并且当Pod被删除时也会被删除,因此它不适合用于存储重要数据或需要长期保留的数据。
  • 对于需要持久化的数据,应该使用持久化存储卷(如PersistentVolume (PV)和PersistentVolumeClaim (PVC))进行存储。
  • Ephemeral-Storage的单个Pod可用上限是通过资源限制(resource limits)来设定的。这个上限决定了Pod能够使用的临时存储空间的最大量。当Pod使用的临时存储空间超过这个限制时,Kubernetes可能会根据配置采取一系列措施,如驱逐Pod等
  • Ephemeral-Storage的资源限制不仅适用于容器的可写层和日志,还适用于EmptyDir卷(如果设置了大小限制)以及其他类型的临时存储。但是,对于容器镜像所占用的空间,通常不计入Ephemeral-Storage的资源限制中,因为这部分空间是由节点上的Docker或容器运行时管理的,而不是由Kubernetes直接管理的

拓展

【一起来学kubernetes】7、k8s中的ingress详解
【一起来学kubernetes】5、kubernetes基本概念梳理

文章来源:https://blog.csdn.net/zhangzehai2234/article/details/146192950
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/embedded/172598.html

相关文章

打造独一无二的 CI/CD 工厂:Java 应用的自动化之旅

好的,下面是一个更为丰富和详细的CICD(持续集成/持续交付)搭建流程,涵盖了各个应用和组件的操作过程及详细介绍。整个流程包括环境准备、各个组件的安装与配置、持续集成与交付流程、监控与报警系统以及安全性保障。 目录 环境准…

OpenSource - Apache POI 的 Word 模板引擎 poi-tl

文章目录 概述地址Word模板引擎功能Getting Started前提MavenGradle2分钟入门Template:模板Data-model:数据Output:输出 概述 该项目是基于 Apache POI 的 Word 模板引擎,可以动态生成 Word 文档。它提供了友好的 API&#xff0c…

机器学习模型-从线性回归到神经网络

在当今的数据驱动世界中,机器学习模型是许多应用程序的核心。无论是推荐系统、图像识别,还是自动驾驶汽车,机器学习技术都在背后发挥着重要作用。在这篇文章中,我们将探索几种基础的机器学习模型,并了解它们的基本原理…

Mysql_DML

1.DML概述: 英文全称为DataManipulationLanguage(数据操作语言),用来对数据库中的表中的数据记录进行增删改的操作 2.基本操作 (1).添加数据(insert) 在指定字段中添加数据&#…

FPGA基础 -- 仿真初识

什么是仿真(Simulation)? 在 FPGA 开发 中,仿真(Simulation) 是指在硬件电路真正部署到 FPGA 之前,通过 计算机软件 来模拟 FPGA 设计的功能和时序,以验证设计的正确性。仿真主要用…

手机屏幕摔不显示了,如何用其他屏幕临时显示,用来导出资料或者清理手机

首先准备一个拓展坞 然后 插入一个外接的U盘 插入鼠标 插入有数字小键盘区的键盘 然后准备一根高清线,一端链接电脑显示器,一端插入拓展坞 把拓展坞的连接线,插入手机充电口(可能会需要转接头) 然后确保手机开机 按下键盘…

Kotlin高效实现 Android ViewPager2 顶部导航:动态配置与性能优化指南

高效实现:强调代码的性能优化。Android ViewPager2:明确技术栈。顶部导航:核心功能点。动态配置与性能优化指南:突出动态配置的灵活性和性能优化的重点。 在 Android 开发中,使用 ViewPager2 实现高效的顶部导航&…

深度学习正则化技术之权重衰减法、暂退法(通俗易懂版)

一、影响模型泛性的因素有?什么是正则化技术?有什么用? 通常,影响模型泛化能力的因素有: 可调节参数的个数:可调节的参数过少,会造成模型过于简单,欠拟合;过多&#xf…