2016-03-31 12 views
5

Chcę obliczyć i pokazać użycie procesora w konkretnym węźle w procentach w mojej własnej aplikacji internetowej przy użyciu interfejsu API Kubernetes.W jaki sposób odzyskujesz wykorzystanie procesora z węzła w Kubernetes przez interfejs API?

Potrzebuję tych samych informacji, które wyświetla Kube UI i Cadvisor, ale chcę użyć interfejsu API Kubernetes.

Znalazłem kilka danych procesora w węzeł-ip: 10255/stats, które zawierają znacznik czasu, użycie procesora: suma, użytkownik i system w wielkich liczbach dziwnych, których nie rozumiem. Również limit CPU jest zgłaszany jako 1024.

W jaki sposób interfejs użytkownika Kube oblicza użycie procesora i czy można to zrobić za pomocą interfejsu API?

Odpowiedz

3

Jeśli używasz Kubernetes v1.2, istnieje nowy, bardziej przejrzysty interfejs API podsumowań. Z informacji o wersji: Kubelet exposes a new Alpha metrics API - /stats/summary in a user friendly format with reduced system overhead.

Dostęp do punktu końcowego można uzyskać przez <node-ip>:10255/stats/summary i detailed API objects is here.

2

Tak więc sposób, w jaki metryki wykorzystania procesora są zazwyczaj zbierane w Kubernetes, wykorzystuje cAdvisor https://github.com/google/cadvisor, który sprawdza grupy cc, aby uzyskać metryki, a więc głównie procesor i niektóre pomiary pamięci. cAdvisor może następnie umieścić swoje dane w DB danych takich jak heapster, influxDB lub prometheus. Kubernetes nie zajmuje się bezpośrednio danymi, więc nie udostępnia ich za pośrednictwem interfejsu API, ale zamiast tego można użyć DB danych. Dodatkowo możesz użyć dodatkowego kontenera w swoim zasobniku, aby zebrać dane i umieścić je w bazie danych. Ponadto można uzyskać przydziały zasobów za pośrednictwem interfejsu API, ale nie używać. Ta propozycja może Cię zainteresować również https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/proposals/metrics-plumbing.md.

Powiązane problemy