配置临时存储额度

在K8s中,Pod临时存储指存储在节点上的空间,用于临时存放运行时的数据。通过配置临时存储额度,能够避免单个Pod过度消耗磁盘空间,影响节点中其他Pod的性能。本文介绍在变更应用时如何配置Pod的临时存储预留量和限制量,确保合理分配和使用集群中的资源。

背景信息

在K8s中,临时存储(即Ephemeral Storage)是指与一个Pod绑定的短暂性磁盘存储。它的生命周期与Pod保持一致。当Pod被删除或迁移时,与其关联的临时存储空间也会被释放。因此,在临时存储空间存储的数据不具备持久性。

如果Pod的临时存储没有限制额度,可能导致部分容器很快将磁盘写满,进而影响节点其他Pod和节点本身的正常运行。为避免该情况,当节点磁盘资源不足时,节点Kubelet将驱逐某些Pod,以释放资源,防止整个系统受到影响。

同时,K8s支持配置每个Pod可以使用的临时存储的预留量(Request)和限制量(Limit),确保分配给Pod的节点上有足够的磁盘资源,防止磁盘资源被过度消耗。

  • 预留量(Request):表示为该Pod分配的最小磁盘资源。当调度器(Scheduler)将Pod分配给节点时,它会确保节点上有足够的可用临时存储以满足Pod的请求。配置预留量(Request)可以确保Pod在分配到节点时有足够的磁盘资源,从而避免因磁盘压力而导致性能下降。

  • 限制量(Limit):表示Pod可以使用的最大磁盘资源。当Pod临时存储的使用超过限制时,会受到磁盘驱逐(Eviction)的影响。配置限制量(Limit)可以避免Pod过度消耗磁盘资源,从而影响其他Pod或导致整个节点磁盘空间耗尽。

    说明

    限制量(Limit)不能小于预留量(Request)。

使用场景

临时存储常用于以下场景:

  • 存储容器的文件系统。

  • 存储容器日志。

  • 提供一个可共享的空目录,以供多个容器使用(EmptyDir卷)。

操作步骤

您可在创建应用、部署应用以及变更规格时,为Pod配置临时存储额度。

说明

请根据业务实际需求为Pod配置临时存储额度。如果您需要限额,请填写具体的数字,使用默认值0则代表不限额。没有配额限制,上限取决于集群性能。

创建应用

  1. 登录EDAS控制台

  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间。

  3. 应用列表页面,单击创建应用

  4. 应用基本信息页签,选择集群类型Kubernetes集群,然后单击下一步

  5. 应用配置页签,配置单Pod资源配额Ephemeral-Storage 资源预留(GB)Ephemeral-Storage 资源限制(GB)

部署应用

  1. 登录EDAS控制台

  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。

  3. 应用总览页面右上角,选择部署 > 部署

  4. 选择部署模式后,在发布页面,配置单Pod资源配额Ephemeral-Storage 资源预留(GB)Ephemeral-Storage 资源限制(GB)

变更规格

  1. 登录EDAS控制台

  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。

  3. 应用总览页面的部署规格区域,单击临时存储右侧的编辑..png图标,在变更规格对话框,配置Ephemeral-Storage(GB)资源预留资源限制值。

相关文档

创建或部署应用时,其他功能的参数配置,请参见使用默认应用来源创建K8s应用