Где ошибки Прометея для невыполненных модулей экспортеров узлов? - PullRequest
1 голос
/ 09 апреля 2019

Установлен Прометей с:

helm install --name promeks --set server.persistentVolume.storageClass=gp2 stable/prometheus

Создано только 7 модулей экспорта-узла, но имеется 22 узла.

$ kubectl get ds promeks-prometheus-node-exporter

NAME                               DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
promeks-prometheus-node-exporter   22        7         7         7            7           <none>          11d

$ kubectl describe ds promeks-prometheus-node-exporter

$ kubectl describe ds promeks-prometheus-node-exporter
Name:           promeks-prometheus-node-exporter
Selector:       app=prometheus,component=node-exporter,release=promeks
Node-Selector:  <none>
Labels:         app=prometheus
                chart=prometheus-7.0.2
                component=node-exporter
                heritage=Tiller
                release=promeks
Annotations:    <none>
Desired Number of Nodes Scheduled: 22
Current Number of Nodes Scheduled: 20
Number of Nodes Scheduled with Up-to-date Pods: 20
Number of Nodes Scheduled with Available Pods: 20
Number of Nodes Misscheduled: 0
Pods Status:  20 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:           app=prometheus
                    component=node-exporter
                    release=promeks
  Service Account:  promeks-prometheus-node-exporter
  Containers:
   prometheus-node-exporter:
    Image:      prom/node-exporter:v0.16.0
    Port:       9100/TCP
    Host Port:  9100/TCP
    Args:
      --path.procfs=/host/proc
      --path.sysfs=/host/sys
    Environment:  <none>
    Mounts:
      /host/proc from proc (ro)
      /host/sys from sys (ro)
  Volumes:
   proc:
    Type:          HostPath (bare host directory volume)
    Path:          /proc
    HostPathType:
   sys:
    Type:          HostPath (bare host directory volume)
    Path:          /sys
    HostPathType:
Events:            <none>

В каком модуле Prometheus я найду журналы или события, в которых сообщается, что 15 модулей не могут быть запланированы?

1 Ответ

1 голос
/ 10 апреля 2019

Я смог воссоздать вашу проблему, однако не уверен, что основная причина была той же.

1) Вы можете получить все события из всего кластера

kubeclt get events

В вашем случае, когда есть 22 узла, было бы лучше, если бы вы использовали grep

kubectl get events | grep Warning

или

kubectl get events | grep daemonset-controller

2) SSH к узлу без модуля. Используйте команду

docker ps -a

Найдите ИД КОНТЕЙНЕРА из записи, где ИМЕНА включает имя узла.

docker inspect <ContainerID>

Вы получите много информации о контейнере, которая может помочь вам определить причину его отказа.

В моем случае у меня была проблема с PersistentVolumeClaim (не было класса хранения gp2) и недостаточными ресурсами ЦП.

Класс хранения можно получить по

kubectl get storageclass
...