Как найти постоянное использование диска GCP?

#google-cloud-platform #google-kubernetes-engine #google-persistent-disk

#google-cloud-platform #google-kubernetes-engine #google-постоянный-диск

Вопрос:

У меня есть постоянный диск GCP, связанный с модулем в кластере GKE. Как мне найти использование диска для постоянного диска? Есть ли какие-либо команды GCP, которые помогут мне определить использование диска?

Большое спасибо за ваши ответы.

Комментарии:

1. Привет, Пракаш Премкумар, если какой-либо ответ решил ваш вопрос, пожалуйста, подумайте о том, чтобы принять его , нажав на галочку. Это указывает более широкому сообществу, что вы нашли решение, и дает некоторую репутацию как ответчику, так и вам. Это не обязательно делать.

2. @DawidKruk Извините за задержку. Я принял ваш ответ. Большое спасибо за вашу помощь.

Ответ №1:

TL; DR

Вы можете использовать использование (процент используемого пространства) определенного подключенного тома для Pod следующей метрики:

  • kubernetes.io/pod/volume/utilization

В описании указано:

Доля объема, который в настоящее время используется экземпляром. Это значение не может быть больше 1, поскольку использование не может превышать общее доступное пространство тома.

Вы можете использовать этот показатель для отслеживания подключений конкретных томов, которые поддерживаются Persistent Disk .

Отказ от ответственности!

Пожалуйста, помните, что этот метод требует некоторой адаптации к конкретным случаям использования. Я включил пример ниже. Я также добавил запрос API мониторинга для извлечения той же информации.


Использование kubernetes.io/pod/volume/utilization метрики

Предполагая, что у вас есть GKE кластер с:

  • 3 PVC ‘s, которые поддерживаются PD ‘s с 100GB пространством каждый
  • 3 Pods , где каждый из них использует один PVC
    • ubuntu-ten — где на смонтированном диске хранится 10 ГБ PVC
    • ubuntu-twenty — где на смонтированном диске хранится 20 ГБ PVC
    • ubuntu-thirty — где на смонтированном диске хранится 30 ГБ PVC

Вы можете следовать:

  • GCP Cloud Console (Веб-интерфейс) -> Monitoring -> Metrics explorer

Использование тома


Запрос API

Как было задано в комментариях под другим ответом:

Есть ли какие-либо примеры API мониторинга для получения данных об использовании диска?

Да, это так. Вы можете запросить данные в API мониторинга с помощью MQL (Monitoring Query Language).

Вам потребуется запрос из примера, использованного ранее ( volume_utilization ). Вы можете извлечь такой запрос, перейдя в Query Editor (это на последнем изображении).

 fetch k8s_pod
| metric 'kubernetes.io/pod/volume/utilization'
| filter
    (resource.cluster_name == 'CLUSTER_NAME'
     amp;amp; resource.pod_name =~ 'ubuntu.*')
    amp;amp; (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'"'"'amp;amp; resource.pod_name =~ '"'"'ubuntu.*'"'"')amp;amp; (metric.volume_name == '"'"'volume-data'"'"')| group_by 1m,[value_utilization_mean: mean(value.utilization)]| every 1m"}' 
  --compressed
  

В ответе вы должны получить информацию об использовании томов, используемых Pods .


Дополнительные ресурсы:

Комментарии:

1. Большое спасибо за ваш ответ @Dawid!

2. @PrakashPremkumar Я указал kubernetes.io/pod/volume/utilization метрику, поскольку нет другого решения для проверки занятого пространства gce-pd , кроме как монтировать том в Pod with df .

3. Большое спасибо за ваш ответ.

Ответ №2:

Вы не можете увидеть использование диска с помощью подготовленной команды. Но вы можете проверить это с помощью мониторинга Stackdriver (Google Cloud Operations Suite) с метрикой с именем container/disk/bytes_used : документация. Вы можете использовать API мониторинга, если вам нужно его автоматизировать.

Пожалуйста, обратите внимание, что вы должны включить Stackdriver в своем кластере раньше. Если вы этого не сделали, следуйте документации.

Комментарии:

1. Большое спасибо за ваш ответ. Есть ли какие-либо примеры API мониторинга для получения данных об использовании диска?