Хранение Прометея в Куберне - PullRequest
0 голосов
/ 04 декабря 2018

Kubernetes версия: 1.10

Мы работаем с Prometheus на кластере Kubernetes (на голом металле).Kubernetes работает только с одним POD.

ВЫПУСК - Метрики Прометея не сохраняются, если перезапускается POD.Мы также попытались настроить постоянный том как локальный .Теперь, если этот модуль перенесен на любой другой узел кластера, он теряет все предыдущие данные, которые были сохранены на предыдущем узле.Мы также пытались настроить удаленное хранилище Prometheus для чтения и записи, но это не сработало, потому что это было довольно медленно.Есть ли другой способ сохранить данные о Kubernetes на голом металле?

1 Ответ

0 голосов
/ 04 декабря 2018

У меня была такая же проблема при настройке прометея на baremetal, и я решил ее так.

Вы можете использовать local-storage класс хранения для PV и PVC, который привязывает ваш PVC к вашему узлу.Поэтому всякий раз, когда модуль перезапуска узла будет запланирован на том же узле, где есть PVC.Я делюсь своими файлами json:

Prometheus-pv.json

{
  "kind": "PersistentVolume",
  "apiVersion": "v1",
  "metadata": {
    "name": "prometheus-vol",
    "namespace": "monitoring"
    "labels": {
      "type": "local",
      "app": "harmony-vol"
    }
  },
  "spec": {
    "capacity": {
      "storage": "10Gi"
    },
    "accessModes": [
      "ReadWriteOnce"
    ],
    "storageClassName": "local-storage",
    "local": {
      "path": "/data"
    },
    "claimRef": {
      "namespace": "default",
      "name": "data-prafull-0"
    },
    "nodeAffinity": {
      "required": {
        "nodeSelectorTerms": [
          {
            "matchExpressions": [
              {
                "key": "kubernetes.io/hostname",
                "operator": "In",
                "values": [
                  "<node_name>"
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

Prometheus.json

{
    "apiVersion": "monitoring.coreos.com/v1",
    "kind": "Prometheus",
    "metadata": {
        "labels": {
            "prometheus": "prafull"
        },
        "name": "prafull",
        "namespace": "monitoring"
    },
    "spec": {
        "alerting": {
            "alertmanagers": [
                {
                    "name": "alertmanager-main",
                    "namespace": "monitoring",
                    "port": "web"
                }
            ]
        },
        "baseImage": "quay.io/prometheus/prometheus",
        "replicas": 2,
        "resources": {
            "requests": {
                "memory": "400Mi"
            }
        },
        "ruleSelector": {
            "matchLabels": {
                "prometheus": "prafull",
                "role": "alert-rules"
            }
        },
        "securityContext": {
            "fsGroup": 0,
            "runAsNonRoot": false,
            "runAsUser": 0
        },
        "serviceAccountName": "prometheus",
        "serviceMonitorSelector": {
            "matchExpressions": [
                {
                    "key": "k8s-app",
                    "operator": "Exists"
                }
            ]
        },
        "storage": {
            "class": "",
            "resources": {},
            "selector": {},
            "volumeClaimTemplate": {
                "metadata": {
                     "name": "data"
                },
                "spec": {
                    "accessModes": [
                         "ReadWriteOnce"
                    ],
                    "storageClassName": "local-storage",
                    "resources": {
                        "requests": {
                            "storage": "10Gi"
                        }
                    }
                }
            }
        },
        "version": "v2.2.1"
    }
}

После применения этого модуля его нельзя перенести на другойузел, потому что PV, PVC связаны с этим узлом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...