Исследование живучести Kubernetes: уведомление о сбое через Интернет - PullRequest
0 голосов
/ 05 ноября 2019

Я использую кластер Kubernetes в облаке Google. У моего кластера есть развертывание, которое предоставляет интерфейс проверки работоспособности (через HTTP). В моем файле развертывания yaml я настроил:

livenessProbe:
  # an http probe
  httpGet:
    path: /hc
    port: 80
    scheme: HTTP
  initialDelaySeconds: 30
  timeoutSeconds: 60
  periodSeconds: 90

Если конечная точка проверки работоспособности вернет что-либо, кроме 200, модуль будет уничтожен и перезапущен.

В настоящее время после перезапуска модуляон просто считает это на счетчике «перезапуска», но никого не уведомляет. Я хочу уведомить сисадмина о том, что это событие произошло. Я думал уведомить с помощью веб-крючка.

Возможно ли это? Если нет, то какова моя другая альтернатива уведомления?

Ответы [ 2 ]

1 голос
/ 05 ноября 2019

Вы можете добавить preStop hook к спецификации вашего стручка. Хук может либо запустить скрипт, либо сделать HTTP-вызов, прежде чем модуль отключится. Вы можете настроить перехват для вызова API, который вызывает уведомление.

0 голосов
/ 05 ноября 2019

Несколько запутанный стандартный ответ на этот вопрос - Kubernetes -> kube-state-metrics -> Prometheus -> alertmanager -> webhook. Для простой задачи это может показаться многим, но Prometheus и связанные с ним инструменты используются гораздо шире для метрик и оповещений. Если бы вы хотели более узкий ответ, вы могли бы проверить бригаду, возможно? Но, вероятно, просто используйте kube-prometheus (это Prom с кучей связанных компонентов, настроенных для вас).

...