2016-03-31 5 views
5

Kubernetes APIを使用して自分のWebアプリケーションでノード固有のCPU使用率をパーセントで表示したい。KubernetesのNodeからCPU経由でCPU使用量を取得するにはどうすればよいですか?

私はKube UIとCadvisorの表示と同じ情報が必要ですが、私はKubernetes APIを使いたいと思います。

node-ip:10255/statsの下で、タイムスタンプ、CPU使用率:合計、ユーザー、システムがわかっていない大きな奇妙な数字の統計情報が見つかりました。また、CPUリミットは1024として報告されます。

Kube UIはCPU使用量をどのようにして計算しますか?

答えて

3

Kubernetes v1.2を使用する場合は、新しいクリーンなメトリックサマリーAPIがあります。リリースノートから:Kubelet exposes a new Alpha metrics API - /stats/summary in a user friendly format with reduced system overhead.

<node-ip>:10255/stats/summarydetailed API objects is hereでエンドポイントにアクセスできます。

2

通常、KubernetesでCPU使用率メト​​リックを収集する方法は、cgroupを使用してcgroupsを調べ、metircsを取得します。ほとんどの場合CPUといくつかのメモリメトリックです。 cAdvisorは、そのデータをheapster、influxDB、prometheusなどのメトリクスDBに格納できます。 Kubernetesは直接メトリックを処理しないので、APIを介して公開することはありませんが、代わりにメトリックDBを使用できます。さらに、ポッド内の別のコンテナを使用してメトリックを収集し、メトリックDBに配置することもできます。さらに、APIを使用してリソースクォータを取得できますが、使用量は取得できません。この提案はあなたにとっても同様に興味があります。https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/proposals/metrics-plumbing.md