You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
存储观测
容器存储观测
复制全文
下载 pdf
容器存储观测
容器存储是 Kubernetes 集群中容器运行时写入数据、日志及临时文件的基础存储层,其使用状态直接影响应用稳定性。本文介绍如何通过托管 Prometheus 接入中心配置容器存储观测,帮助您实时掌握容器文件系统和 Pod 临时存储的用量。​
背景信息​
在 Kubernetes 集群中,每个容器默认拥有一个可写层(rootfs),用于存放运行时产生的文件、日志等数据。当容器可写层用量超出限制时,容器会被驱逐,导致业务中断。同时,Pod 级别的临时存储(Ephemeral Storage)涵盖了该 Pod 内所有容器的日志、临时数据卷(emptyDir)等资源,一旦超限同样会触发 Pod 驱逐。​
监控指标​
传统的 CPU 和内存监控无法覆盖上述存储场景。容器服务提供容器存储观测能力,通过在每个节点上部署采集组件,定期从 Kubelet 获取容器文件系统和 Pod 临时存储的用量数据,转换为标准的 Prometheus 指标,上报至托管 Prometheus 工作区。涉及的核心采集指标包括:​
​
指标名称​
指标类型​
说明​
container_fs_usage_bytes​
Gauge​
容器可写层已使用的字节数。容器运行时产生的文件、日志等默认存放在此层,当用量持续增长可能导致容器被驱逐。​
container_fs_limit_bytes​
Gauge​
容器可写层的总容量上限。​
ephemeral_storage_pod_usage_bytes​
Gauge​
Pod 级别临时存储的总使用量,包括该 Pod 内所有容器的日志、emptyDir 卷等的总和。​
ephemeral_storage_pod_limit_bytes​
Gauge​
Pod 级别临时存储的总容量上限。​
​
说明​
上述指标通过 vke-pod-storage-exporter 组件采集。该组件以 DaemonSet 方式部署在每个节点上,通过调用本地 Kubelet 接口获取数据。​
核心资源​
容器存储观测功能涉及的核心资源,如下表所示。​
​
资源名称​
资源类型​
说明​
vke-pod-storage-exporter​
DaemonSet​
部署在每个节点上的指标采集组件,负责从 Kubelet 获取容器文件系统和 Pod 临时存储用量,并通过/metrics端点暴露 Prometheus 格式的指标数据。​
vke-pod-storage-exporter​
ServiceAccount​
用于组件的身份认证,持有访问 Kubelet API 所需的令牌。​
vke-pod-storage-exporter​
ClusterRole / ClusterRoleBinding​
授予组件访问资源的 get、list 权限,确保组件可以正常调用 Kubelet 接口。​
vke-pod-storage-exporter​
Service​
为采集组件提供统一的服务端点(端口 9103),供托管 Prometheus 通过服务发现机制拉取指标。​
​
前提条件​
  • 已开启云原生观测功能,详情请参见 开启观测。​
操作步骤​
  1. 登录 VMP 服务控制台。​
  1. 在顶部导航栏,选择目标地域。​
  1. 在左侧导航栏中选择 接入中心 > 组件。​
  1. 在 存储 分类下,单击 容器存储指标,配置容器存储观测。​
  • ​​​
  1. 配置采集器的部署环境。选择 VKE 环境,并在下拉列表中选择目标 VKE 集群。​
  • ​​​
  1. 单击 创建接入任务,配置接入任务详情。​
  • ​​​
  • ​
    配置项​
    说明​
    基础信息​
    ​
    任务名称​
    配置接入任务的名称。支持中文、英文大小写、数字和下划线_,取值范围为 1~40 个字符。​
    项目​
    实例所属项目。项目管理是一种资源管理方式,可以对不同业务或项目使用的云资源进行分组管理。基于项目进行 IAM 授权,有利于维护资源独立、数据安全,同时可从项目维度查看资源消费账单,便于计算云资源使用成本。更多详细介绍参见:项目管理。​
    标签​
    实例附带的资源标签。资源标签由一组 KV 键值对组成,可以通过资源标签从不同维度对云资源进行分类和聚合管理,适用于标签制授权和资源分账等场景(最多添加 50 个)。更多详细介绍参见:标签管理。​
    采集配置​
    ​
    JobLabel​
    支持从 Kubernetes Pod 对象中选取标签,该标签值将作为所有指标的 job 标签。例如,若 jobLabel 设为foo,且 Pod 标签为foo: bar,则系统会为所有采集到的指标添加job="bar"标签。 若该字段为空,则指标的 job 标签默认为 PodMonitor 对象的命名空间和名称,格式为<namespace>/<name>。​
    指标采集间隔​
    配置采集器的采集间隔。即采集组件向节点 Kubelet 请求监控数据的频率(例如 15s)。数值越小,监控精度越高,但会增加托管 Prometheus 工作区的存储和查询开销。​
    高级配置​
    ​
    Metric Relabel 配置​
    配置采集指标 Relabel,详情请参见 指标 Relabel。​
    ​
  1. 单击 确认,完成接入任务创建。​
说明​
创建接入任务时,系统会自动在目标 VKE 集群的 vmp-system 命名空间中安装采集组件 vke-pod-storage-exporter。​
结果验证​
配置完成后,您可以查看任务状态和任务详情,确认接入任务是否正常。​
  1. 在左侧导航栏中选择 接入中心 > 接入任务。​
  1. 选择 VKE 环境 页签。在任务列表中,可以查看接入任务的状态。​
  • ​​​
  1. 单击任务名称,可前往任务详情页,查看任务详细信息、目标列表和监控看板。​
  • ​​​
监控信息​
查看指标​
您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询。​
​​​
常用查询示例,如下表所示。​
​
查询场景​
PromQL 语句​
查询容器文件系统使用量​
container_fs_usage_bytes​
查询 Pod 临时存储使用量​
ephemeral_storage_pod_usage_bytes​
查询容器文件系统使用量 Top 10​
topk(10, container_fs_usage_bytes)​
查询容器文件系统使用率 Top 10​
topk(10, container_fs_usage_bytes / container_fs_limit_bytes * 100)​
查询即将超限的 Pod(临时存储使用率 > 80%)​
ephemeral_storage_pod_usage_bytes / ephemeral_storage_pod_limit_bytes * 100 > 80​
​
搭建大盘​
您可以在容器服务集群或 ECS 主机中自建 Grafana,并通过 Grafana 查看指标和创建大盘。​
配置告警​
您可以在托管 Prometheus 的告警中心配置容器存储的相关告警。详情请参见 创建告警规则。​
​
最近更新时间:2026.04.21 20:23:00
这个页面对您有帮助吗?
有用
有用
无用
无用