непрерывные проверки работоспособности в приложении узла kubernetes

Я установил приложение Node в Kubernetes и настроил Ingress. В результате мой сервер узлов постоянно подвергается проверкам работоспособности.

Журналы стекдрайвера

Я не уверен, что эти постоянные проверки здоровья — это хорошо или плохо. Будут ли они влиять на сервер (например, замедлять его или постоянно загружать)? Это также может привести к увеличению использования ЦП моим приложением?

Какая лучшая практика здесь?

Я настроил свой Ingress следующим образом

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kubernetes-ingress
# kubernetes-ingress is the name of static ip we've reserved in Google Cloud
  annotations:
    kubernetes.io/ingress.global-static-ip-name: "kubernetes-ingress"
spec:
# spec:
  tls:
  - hosts:
    - app.com
    secretName: ingress-ssl
  backend:
    serviceName: web
    servicePort: 3000

person Alamgir Qazi    schedule 01.08.2018    source источник


Ответы (3)


Проверка работоспособности — это базовая функция Kubernetes, означающая, что с вами все в порядке. Я не вижу никакой проблемы в вашем Ingress.

person Oron Golan    schedule 01.08.2018
comment
Я понимаю, но он должен запускаться каждую секунду? иногда 5 ударов в секунду, как показано на изображении - person Alamgir Qazi; 01.08.2018
comment
Зависит от приложения, но вы можете проверить ресурсы одного из ваших узлов, когда приложение развернуто на промежуточной машине, и вы можете настроить время kubernetes-v1-4.github.io/docs/user-guide/liveness - person Oron Golan; 01.08.2018

Kubernetes проверки работоспособности можно разделить на liveness и readiness датчики.

Readiness probes используются для проверки того, готово ли ваше приложение внутри пода обслуживать сетевой трафик или нет. Если проверка готовности для вашего приложения дает сбой, этот модуль удаляется из конечных точек, составляющих службу. Используя readiness probe, Kubernetes ждет, пока приложение полностью запустится, прежде чем разрешить службе отправлять сетевой трафик в этот модуль.

Цель liveness probes — указать, что ваше приложение запущено и работает. Если Kubernetes обнаружит, что ваше приложение внутри пода живо, дальнейших действий не ожидается, в противном случае отказавший под будет удален, а система попытается запустить новый под.

Зонды Liveness и readiness действительно помогают обеспечить стабильность приложений в вашем кластере Kubernetes, гарантируя, что сетевой трафик идет только к экземплярам, ​​которые могут его обслуживать, а также обнаруживают сбой или сбой приложения в поде, чтобы заменить его новым.

Подводя итог, как упомянул @Oron Golan, Health check — это встроенная функция Kubernetes, и она не должна снижать общую производительность вашего приложения.

Подробнее о рекомендациях по использованию проверок работоспособности Kubernetes см. Здесь.

person Nick_Kh    schedule 02.08.2018

Проверка работоспособности — это обычная конфигурация, которая обеспечивает стабильность ваших приложений в распределенной настройке. Если вы получаете слишком много запросов, есть способы настроить, как часто Kubernetes должен запрашивать ваш сервис для проверки работоспособности и работоспособности. Вы можете настроить его в соответствии с поведением вашего приложения/нагрузкой/другими конфигурациями развертывания.

person Ysak    schedule 24.10.2019