Как отслеживать использование диска постоянными томами? - PullRequest
2 голосов
/ 29 апреля 2019

Я хочу отслеживать использование диском постоянных томов в кластере. Я использую CoreOS Kube Prometheus . Сводная панель пытается выполнить запрос с метрикой kubelet_volume_stats_capacity_bytes , которая больше не доступна для версий Kubernetes, начиная с v1.12.

Я использую Kubernetes v1.13.4 и hostpath-Provider для предоставления томов на основе постоянных утверждений о томах. Я хочу получить доступ к текущим показателям использования диска для каждого постоянного тома.

  • kube_persistentvolumeclaim_resource_requests_storage_bytes доступен, но показывает только постоянный запрос заявки в байтах

  • container_fs_usage_bytes не полностью покрывает мою проблему.

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Да, в новейшей версии Kubernetes вы не можете отслеживать такие показатели, как kubelet_volume_stats_capacity_bytes , но есть некоторые обходные пути.К сожалению, сегодня это немного фрагментировано в Куберне.PVC могут иметь показатели емкости и использования, в зависимости от поставщика тома, и кажется, что у любого тома на основе CSI их вообще нет.Мы можем сделать это на основе максимальных усилий, но это просто, чтобы быстро поразить случаи, когда эти метрики недоступны.

Во-первых, просто напишите свой собственный скрипт, который будет каждый раз, когда значения метрики будут такими, как container_fs_usage_bytes Собирается будет разница в подсчете между емкостью до измерения и использованием контейнера в байтах (метрика будет container_fs_usage_bytes полезно).

Prometheus - довольно популярное решение, но для мониторинга емкости, особенно использования дискавы можете использовать Heapster, теперь он собирается «уйти в отставку», но только для этого особого случая вы можете использовать его, но вам также придется реализовать скрипт.Взгляните на репозиторий: heapster-memory

"res.Containers = append (res.Containers, metrics.ContainerMetrics {Имя: c.Name, Использование: использование})"

Надеюсь, это поможет.

0 голосов
/ 10 мая 2019

У меня есть работа, подобная следующей в моей конфигурации выпускного вечера:

  - job_name: 'kubernetes-nodes'

    kubernetes_sd_configs:
    - role: node

    scheme: https
    tls_config:
      ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token

    relabel_configs:
    - action: labelmap
      regex: __meta_kubernetes_node_label_(.+)
    - target_label: __address__
      replacement: kubernetes.default.svc:443
    - source_labels: [__meta_kubernetes_node_name]
      regex: (.+)
      target_label: __metrics_path__
      replacement: /api/v1/nodes/${1}/proxy/metrics

С этой работой я вижу следующие метрики, доступные в Prometheus:

kubelet_volume_stats_available_bytes
kubelet_volume_stats_capacity_bytes
kubelet_volume_stats_inodes
kubelet_volume_stats_inodes_free
kubelet_volume_stats_inodes_used
kubelet_volume_stats_used_bytes

Подробнее здесь:https://github.com/google/cadvisor/issues/1702

...