Назад | Перейти на главную страницу

Могут ли метрики «kubelet_volume_ *» получать значение из томов, созданных Ceph?

Перед нами стоит один вопрос о мониторинге объемного хранилища.

Мы используем метрики «kubelet_volume_stats_used_bytes» и «kubelet_volume_stats_capacity_bytes». В нашей лаборатории у нас есть> 100 томов, смонтированных на подах, и среди них 14 томов, созданных хранилищем Glusterfs, остальные тома предоставляются Ceph.

$ kubectl get sc
NAME                            PROVISIONER                    AGE
default                         ceph.rook.io/block             166d
glusterfs-storageclass          kubernetes.io/glusterfs        166d
local-storage                   kubernetes.io/no-provisioner   166d
non-repl                        ceph.rook.io/block             166d
rook-ceph-block-rep (default)   ceph.rook.io/block             166d

Пытаемся скрутить метрики из Kubernetes API

# curl -k -s -H "Authorization: Bearer <token>" https://kubernetes.default.svc:443/api/v1/nodes/<hostname>/proxy/metrics 2>&1 |grep kubelet_volume_stats_used_bytes

И, к сожалению, среди всех узлов мы получаем информацию только из этих 14 томов Glusterfs - никаких показателей от остальных (созданных Ceph)

Итак, можно ли получить метрики из этих томов, созданных Ceph? Если возможно, как мы можем сделать так, чтобы Kubernetes предоставил их?

Заранее спасибо.

Кстати, мы не уверены в Ceph, потому что мы также заметили, что в документе Kubernetes есть глава поставщик хранилища и вот что он говорит,

Volume Plugin   Internal Provisioner    Config Example
CephFS          -                       -
GlusterFS       ✓                       Glusterfs

Не знаю, причина в этом. Kubernetes версии 1.12.3

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.3", 
GitCommit:"435f92c719f279a3a67808c80521ea17d5715c66", GitTreeState:"clean", 
BuildDate:"2018-11-26T12:57:14Z", GoVersion:"go1.10.4", Compiler:"gc", 
Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.3", 
GitCommit:"435f92c719f279a3a67808c80521ea17d5715c66", GitTreeState:"clean", 
BuildDate:"2018-11-26T12:46:57Z", GoVersion:"go1.10.4", Compiler:"gc", 
Platform:"linux/amd64"}

Кажется, это работает на Kubernetes Версия 1.13+.

Вот проблема с GitHub для этого ceph: добавить метрики для драйвера flexvolume # 3128.

И Вот это комментарий, описывающий, как его настроить.

Также вы можете использовать для этого Прометей. Это хорошо задокументировано и описано в документы ладьи