web-dev-qa-db-ja.com

メトリック "kubelet_volume_ *"は、Cephによって作成されたボリュームから値を取得できますか?

ボリュームストレージの監視について1つの質問に直面しています。

メトリック「kubelet_volume_stats_used_bytes」と「kubelet_volume_stats_capacity_bytes」を使用します。私たちのラボでは、ポッドに100を超えるボリュームがマウントされており、これらのボリュームの中にGlusterfsストレージによって作成された14のボリュームがあり、残りのボリュームは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

KubernetesAPIからメトリックをカールしようとします

# 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にそれらを提供させるにはどうすればよいですか?

前もって感謝します。

ところで-Kubernetesのドキュメントにも章があることに気付いたのでCephについてはわかりません ストレージプロビジョナー そしてこれはそれが言っていることです、

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"}
1
Lijing Zhang

これはKubernetesv 1.13 +で機能するようです。

これがGitHubの問題です ceph:flexvolumeドライバー#3128のメトリックを追加

そして ここ はそれを設定する方法を説明するコメントです。

また、Prometheusを使用することもできます。これは十分に文書化されており、 rook docs で説明されています。

0
Crou