容器服务 Kubernetes 版支持对云盘和NAS存储卷的监控,通过可观测监控 Prometheus 版收集指标以监控当前节点侧存储的使用状况。本文介绍如何通过csi-plugin组件监控节点侧存储监控,并举例说明如何配置事件告警。
前提条件
仅v1.18.8.46-afb19e46-aliyun及以上版本的csi-plugin同时支持云盘及NAS监控功能,请确保当前的csi-plugin组件的YAML版本和镜像版本为最新版本。您可通过控制台升级至最新版本。具体操作,请参见通过控制台升级csi-plugin组件。
背景信息
在ACK集群中通常使用云盘数据卷或NAS数据卷存储数据,通过部署csi-plugin的最新版本(ACK集群默认安装csi-plugin组件)将磁盘监控与PVC进行绑定。通过可观测监控 Prometheus 版可以查看当前PVC的状态、配置容量阈值和IOPS阈值,进行事件告警以感知当前PVC使用情况。
通过控制台升级csi-plugin组件
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
单击存储页签,在csi-plugin组件区域单击升级。
存储监控使用说明
目前节点侧监控功能支持云盘及NAS两种存储产品。您可通过Prometheus监控当前云盘或NAS的使用状况,具体操作如下。
查看存储监控资源需要开启可观测监控 Prometheus 版。具体操作,请参见开启阿里云Prometheus监控。
启用存储监控功能后,相关组件会自动将监控指标发送至阿里云Prometheus服务,这些指标将被视为自定义指标。使用自定义指标可能会引起额外的费用。为了避免产生额外的费用,建议在启用此功能前,仔细阅读阿里云Prometheus的计费概述,了解自定义指标的收费策略。费用将根据您的集群规模和应用数量等因素产生变动。您可以通过资源消耗统计功能,监控和管理您的资源使用情况。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
单击存储监控,然后单击CSI存储组件监控-节点维度页签,进入节点侧的监控大盘。
过滤项
过滤项
说明
StorageType
存储类型,disk表示云盘,nas表示NAS文件存储。
Namespace
PVC所在的命名空间。
PVC
PVC的名称。
监控指标
指标名称
说明
显示单位
IOPS
PVC的读写IOPS
ops/sec(每秒读写磁盘次数)
Latency(avg)
PVC的读写请求的平均时延
ms(毫秒)
ThroughPut
PVC的吞吐量
GB
IO Count In Queue
IO请求在磁盘队列的个数
个数
Used Capacity
PVC的磁盘使用空间大小
GB
Total Capacity
PVC的磁盘总空间大小
GB
Free Capacity
PVC的磁盘剩余空间大小
GB
云盘存储监控使用示例
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在Prometheus监控页面单击存储监控,然后单击CSI存储组件监控-节点维度页签。
选择云盘存储卷所在的StorageType、Namespace及PVC名称后,在Total Capacity区域可查看云盘存储卷当前容量。
本示例StorageType选择为disk、Namespace选择为default、PVC为pvc-disk-static-create1。从上图可得,当前云盘总容量为39.25 GiB,使用了48.2 MiB,剩余39.18 GiB。
向云盘中写入测试数据。
执行以下命令查看挂载云盘的应用名称。
kubectl get pod
预期输出:
NAME READY STATUS RESTARTS AGE deployment-disk-static-create1-67f4b5cfdc-p5q7t 1/1 Running 0 20m
执行以下命令进入挂载云盘的应用。
kubectl exec deployment-disk-static-create1-67f4b5cfdc-p5q7t -ti sh
执行以下命令向云盘挂载目录/data写入20 GiB数据。
cd /data /usr/bin/fio -direct=1 -iodepth=256 -rw=randwrite -ioengine=libaio -bs=4k -numjobs=1 -runtime=100 -group_reporting -name=Rand_Write_Testing -filename=./test -size=20G
在Prometheus监控页面单击存储监控,然后单击CSI存储组件监控-节点维度页签,再次查看云盘存储监控资源。
从上图可得,写入的IOPS为4 k,吞吐率为15 MB/s,写入数据容量为20 GiB,剩余容量为19 GiB,平均延时约为67 ms。
NAS存储监控使用示例
使用NAS存储监控,NAS容量指标的PV需要满足以下条件:
使用CNFS托管的NAS文件系统,并且NAS文件系统为容量型实例。
PV为通过StorageClass创建的动态卷。
向NAS存储卷挂载目录写入测试数据。
执行以下命令查看挂载NAS存储卷的应用名称。
kubectl get pod
预期输出:
NAME READY STATUS RESTARTS AGE cnfs-nas-deployment-84f6cdf6cc-wvjjq 1/1 Running 0 20m
执行以下命令进入挂载NAS存储卷的应用。
kubectl exec cnfs-nas-deployment-84f6cdf6cc-wvjjq -ti sh
执行以下命令向NAS存储卷挂载目录/data写入20 GiB数据。
cd /data /usr/bin/fio -direct=1 -iodepth=256 -rw=randwrite -ioengine=libaio -bs=4k -numjobs=1 -runtime=100 -group_reporting -name=Rand_Write_Testing -filename=./test -size=20G
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在Prometheus监控页面单击存储监控,然后单击CSI存储组件监控-节点维度页签。
选择NAS存储卷所在的StorageType、Namespace及PVC名称后,在Total Capacity区域可查看NAS存储卷当前容量。
本示例StorageType选择为nas、Namespace选择为default、PVC为cnfs-nas-pvc。从上图可得,写入的IOPS约为15 k,吞吐率从10 MB/S增长到60 MB/s,平均延时约为15 ms。
相关文档
如需扩容存储卷,请参见扩容云盘数据卷、扩容NAS存储卷容量。
如需查看集群存储状态,请参见使用storage-operator组件监控集群侧存储资源。