2016-02-04 4 views

ответ

15

Мониторинг Kubernetes подробно описан в документации here, но в основном это касается инструментов, использующих хипстер.

Информация, специфичная для узла, доступна через пользовательский интерфейс cAdvisor, доступ к которому возможен через порт 4194 (см. Приведенные ниже команды для доступа к этому через прокси-API).

Хипстер запрашивает кубелет для статистики, поданной в <kubelet address>:10255/stats/ (другие конечные точки можно найти в коде here).

Попробуйте это:

$ kubectl proxy & 
Starting to serve on 127.0.0.1:8001 
$ NODE=$(kubectl get nodes -o=jsonpath="{.items[0].metadata.name}") 
$ curl -X "POST" -d '{"containerName":"/","subcontainers":true,"num_stats":1}' localhost:8001/api/v1/proxy/nodes/${NODE}:10255/stats/container 
... 

Обратите внимание, что эти конечные точки не документированы, поскольку они предназначены для внутреннего использования (и отладки), и может измениться в будущем (мы в конце концов хотим предложить более стабильную версионную конечную точку).

Update:

По Kubernetes версии 1.2, Kubelet экспортирует "сводной" API, объединяющий статистик из всех Бобы:

$ kubectl proxy & 
Starting to serve on 127.0.0.1:8001 
$ NODE=$(kubectl get nodes -o=jsonpath="{.items[0].metadata.name}") 
$ curl localhost:8001/api/v1/proxy/nodes/${NODE}:10255/stats/summary 
... 
+0

Эй Тим, я неясно, что вы пытаетесь сделать именно (так как в целом я еще новичок в Kubernetes) – adrian

+0

Вы имеете в виду, что команды примера я отправил делаю? Он отправляет запрос POST в конечную точку «/ stats/container» узла и выводит результаты (в STDOUT). Команда 'kubectl get nodes -o = jsonpath =" {. Items [0] .metadata.name} "является просто причудливым способом захвата имени случайного узла. –

+0

Есть ли синтаксическая ошибка в узлах get? Кажется, что это неудачно, когда я запускаю его на моем главном сервере. – adrian

2

Я бы рекомендовал использовать heapster для сбора метрик. Это довольно прямолинейно. Однако для доступа к этим метрикам вам нужно добавить «type: NodePort» в файл hepaster.yml. Я изменил исходные файлы в кучу, и вы можете найти их here. Посмотрите мой файл readme, как получить доступ к метрикам. Дополнительные показатели доступны here.

Метрики можно получить через веб-браузер, обратившись к http://heapster-pod-ip:heapster-service-port/api/v1/model/metrics/cpu/usage_rate. Тот же результат можно увидеть, выполнив следующую команду.

$ curl -L http://heapster-pod-ip:heapster-service-port/api/v1/model/metrics/cpu/usage_rate 
Смежные вопросы