Оператор Prometheus
Статус проекта: бета. Не все запланированные функции завершены. API, спецификации, статус и другие объекты, с которыми взаимодействует пользователь, могут измениться, но таким образом, чтобы обеспечить обратную совместимость.
Оператор Prometheus для Kubernetes предоставляет простые определения мониторинга для служб Kubernetes и развёртывания и управления экземплярами Prometheus.
После установки оператор Prometheus предоставляет следующие возможности:
Для ознакомления с оператором Prometheus см. начальный пост в блоге.
Оператор Prometheus делает конфигурацию Prometheus нативной для Kubernetes и управляет кластерами Prometheus и Alertmanager. Это часть головоломки, касающейся полного сквозного мониторинга.
kube-prometheus объединяет оператор Prometheus с набором манифестов, чтобы помочь начать мониторинг самого Kubernetes и приложений, работающих поверх него.
Версия >=0.18.0 оператора Prometheus требует кластера Kubernetes версии >=1.8.0. Если вы только начинаете работать с оператором Prometheus, настоятельно рекомендуется использовать последнюю версию.
Если у вас работает более старая версия Kubernetes и оператора Prometheus, мы рекомендуем сначала обновить Kubernetes, а затем оператор Prometheus.
Оператор действует на следующие определения пользовательских ресурсов (CRDs):
Prometheus
, который определяет желаемое развёртывание Prometheus. Оператор всегда обеспечивает соответствие развёртывания определению ресурса.ServiceMonitor
, который декларативно указывает, как группы служб должны отслеживаться. Оператор автоматически генерирует конфигурацию очистки Prometheus на основе определения.PrometheusRule
, которое определяет желаемый файл правил Prometheus, который может быть загружен экземпляром Prometheus, содержащим правила оповещения и записи Prometheus.Alertmanager
, который определяет желаемое развёртывание Alertmanager. Оператор всегда обеспечивает соответствие развёртывания определению ресурса.Чтобы узнать больше об CRD, представленных оператором Prometheus, ознакомьтесь с проектом документа.
Установите оператор внутри кластера, выполнив следующую команду:
kubectl apply -f bundle.yaml
Примечание: убедитесь, что вы адаптировали пространство имён в ClusterRoleBinding при развёртывании в другом пространстве имён, отличном от пространства имён по умолчанию.
Чтобы запустить оператор вне кластера:
make
hack/run-external.sh <имя кластера kubectl>
Чтобы удалить оператор и Prometheus, сначала удалите любые пользовательские ресурсы, которые вы создали в каждом пространстве имён. Оператор автоматически отключит и удалит модули Prometheus и Alertmanager, а также связанные с ними конфигурационные карты.
for n in $(kubectl get namespaces -o jsonpath={..metadata.name}); do
kubectl delete --all --namespace=$n prometheus,servicemonitor,alertmanager
done
Через пару минут вы можете приступить к удалению самого оператора.
kubectl delete -f **bundle.yaml**
Оператор автоматически создаёт сервисы в каждом пространстве имён, где вы создали ресурсы Prometheus или Alertmanager, и определяет три пользовательских определения ресурсов. Вы можете очистить их сейчас.
```sh
for n in $(kubectl get namespaces -o jsonpath={..metadata.name}); do
kubectl delete --ignore-not-found --namespace=$n service prometheus-operated alertmanager-operated
done
kubectl delete --ignore-not-found customresourcedefinitions \
prometheuses.monitoring.coreos.com \
servicemonitors.monitoring.coreos.com \
alertmanagers.monitoring.coreos.com
Разработка
Убедитесь, что вы запускаете тесты по следующему пути:
$GOPATH/src/github.com/coreos/prometheus-operator
, так как тесты ожидают совпадения путей. Если вы работаете с форком, просто добавьте разветвлённый репозиторий в качестве удалённого и извлеките данные из вашей локальной проверки coreos перед запуском тестов.
make test-unit
minikube start --kubernetes-version=v1.10.0 --memory=4096 --extra-config=apiserver.Authorization.Mode=RBAC
eval $(minikube docker-env) && make image
— сборка образа докера оператора Prometheus на докере minikube;make test-e2e
.Многие файлы (документация, манифесты и т.д.) в этом репозитории создаются автоматически. Например, bundle.yaml
происходит из файлов Jsonnet в /jsonnet/prometheus-operator
. Прежде чем предлагать запрос на вытягивание:
make generate-in-docker
.Если вы обнаружите уязвимость в системе безопасности, связанную с оператором Prometheus, пожалуйста, не сообщайте об этом, открывая проблему GitHub, а отправьте электронное письмо сопровождающим проекта, указанным в файле OWNERS.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )