Прометей в к8с (метрика)

Я размещаю Прометей в Куберне по этому руководству

Как была изобретена схема хранения: Prometeus в kubernetes хранит метрики в течение 24 часов. Прометей не в Куберне хранит показатели за 1 неделю. Федерация создана между ними.

Кто сталкивался с тем, что после удаления стручков через определенный промежуток времени (гораздо менее 24 часов) метрики на нем отсутствуют.

2 ответа

Решение

Это совершенно нормально, если у вас нет постоянного хранилища, настроенного для вашего модуля Prometheus. Вы должны использовать PV/PVC, чтобы определить стабильное место, где вы храните данные о прометее, в противном случае, если ваш контейнер воссоздан, он начинается с чистого листа.

PV/PVC нужны выделенные серверы хранения в кластере. Если нет денег на серверы хранения, вот более дешевый подход:

  1. Пометьте узел:

    $ kubectl label nodes <node name> prometheus=yes
    
  2. Принудительно создать все модули Prometheus на одном и том же помеченном узле, используя nodeSelector:

    nodeSelector:
        prometheus: yes
    
  3. Создать emptyDir Объем для каждого прометей стручка. emptyDir Том сначала создается, когда модуль Prometheus назначен помеченному узлу и существует до тех пор, пока этот модуль работает на этом узле и безопасен при сбоях контейнера и перезапуске модуля.

    spec:
      containers:
      - image: <prometheus image>
        name: <prometheus  pod name>
        volumeMounts:
        - mountPath: /cache
          name: cache-volume
      volumes:
      - name: cache-volume
        emptyDir: {}
    

Этот подход заставляет все модули Prometheus работать на одном узле с постоянным хранилищем для метрик - более дешевый подход, при котором узел Prometheus молится, не дает сбоя.

Другие вопросы по тегам