我有一个与 GKE 集群中的 pod 关联的 GCP 永久磁盘。如何找到永久磁盘的磁盘使用情况?是否有任何 GCP 命令可以帮助我找到磁盘使用情况?
非常感谢你的回答。
我有一个与 GKE 集群中的 pod 关联的 GCP 永久磁盘。如何找到永久磁盘的磁盘使用情况?是否有任何 GCP 命令可以帮助我找到磁盘使用情况?
非常感谢你的回答。
TL;博士
您可以将某个卷挂载的利用率Pod
(已用空间的百分比)用于具有以下指标的 a:
kubernetes.io/pod/volume/utilization
描述指出:
实例当前正在使用的卷的比例。此值不能大于 1,因为使用量不能超过总可用卷空间。
您可以使用此指标来监控由Persistent Disk
.
免责声明!
请记住,此方法需要进行一些调整以适合特定用例。我在下面提供了一个示例。我还添加了一个监控 api 查询来提取相同的信息。
kubernetes.io/pod/volume/utilization
指标假设您有一个GKE
集群:
PVC
由PD
's支持的3 个100GB
,每个都有空格Pods
他们每个人都使用单个PVC
ubuntu-ten
- 有 10GB 存储在挂载上PVC
ubuntu-twenty
- 有 20GB 存储在挂载上PVC
ubuntu-thirty
- 有 30GB 存储在挂载上PVC
你可以关注:
GCP Cloud Console
(网页界面)-> Monitoring
->Metrics explorer
正如在另一个答案下的评论中所问的那样:
是否有监控 API 检索磁盘使用情况的示例?
对,他们是。您可以使用MQL
(监控查询语言)查询监控API的数据。
您将需要从之前使用的示例中进行查询 ( volume_utilization
)。您可以通过进入Query Editor
(它在最后一张图片上)来提取此类查询。
fetch k8s_pod
| metric 'kubernetes.io/pod/volume/utilization'
| filter
(resource.cluster_name == 'CLUSTER_NAME'
&& resource.pod_name =~ 'ubuntu.*')
&& (metric.volume_name == 'volume-data')
| group_by 1m, [value_utilization_mean: mean(value.utilization)]
| every 1m
要查询 API,您可以使用文档Try this API
中提供的功能GCP
:
借助此工具创建的查询:
curl --request POST \
'https://monitoring.googleapis.com/v3/projects/PROJECT-NAME/timeSeries:query?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"query":"fetch k8s_pod| metric '"'"'kubernetes.io/pod/volume/utilization'"'"'| filter(resource.cluster_name == '"'"'CLUSTER-NAME'"'"'&& resource.pod_name =~ '"'"'ubuntu.*'"'"')&& (metric.volume_name == '"'"'volume-data'"'"')| group_by 1m,[value_utilization_mean: mean(value.utilization)]| every 1m"}' \
--compressed
在响应中,您应该获得有关Pods
.
其他资源:
您无法通过准备好的命令查看磁盘使用情况。但是,您可以通过 Stackdriver Monitoring (Google Cloud Operations Suite) 使用名为container/disk/bytes_used
: documentation的指标进行检查。如果需要自动化,可以使用 Monitoring API。
请注意,您必须先在集群上启用 Stackdriver。如果还没有,请按照文档进行操作。