Откуда берутся эти проверки здоровья kubernetes? - PullRequest
0 голосов
/ 06 ноября 2018

Таким образом, у меня есть развертывание, раскрытое как вход GCE. При развертывании реализован простой готовностьProbe на рабочем пути, как показано ниже:

    readinessProbe:
      failureThreshold: 3
      httpGet:
        path: /claim/maif/login/?next=/claim/maif
        port: 8888
        scheme: HTTP
      initialDelaySeconds: 20
      periodSeconds: 60
      successThreshold: 1
      timeoutSeconds: 1

Все работает хорошо, первые проверки здоровья приходят через 20 секунд и отвечают 200:

{address space usage: 521670656 bytes/497MB} {rss usage: 107593728 bytes/102MB} [pid: 92|app: 0|req: 1/1] 10.108.37.1 () {26 vars in 377 bytes} [Tue Nov  6 15:13:41 2018] GET /claim/maif/login/?next=/claim/maif => generated 4043 bytes in 619 msecs (HTTP/1.1 200) 7 headers in 381 bytes (1 switches on core 0)

Но сразу после этого я получаю тонны других запросов от других проверок, на /:

{address space usage: 523993088 bytes/499MB} {rss usage: 109850624 bytes/104MB} [pid: 92|app: 0|req: 2/2] 10.132.0.14 () {24 vars in 277 bytes} [Tue Nov  6 15:13:56 2018] GET / => generated 6743 bytes in 53 msecs (HTTP/1.1 200) 4 headers in 124 bytes (1 switches on core 0)
{address space usage: 515702784 bytes/491MB} {rss usage: 100917248 bytes/96MB} [pid: 93|app: 0|req: 1/3] 10.132.0.20 () {24 vars in 277 bytes} [Tue Nov  6 15:13:56 2018] GET / => generated 1339 bytes in 301 msecs (HTTP/1.1 200) 4 headers in 124 bytes (1 switches on core 0)
{address space usage: 518287360 bytes/494MB} {rss usage: 103759872 bytes/98MB} [pid: 93|app: 0|req: 2/4] 10.132.0.14 () {24 vars in 277 bytes} [Tue Nov  6 15:13:58 2018] GET / => generated 6743 bytes in 52 msecs (HTTP/1.1 200) 4 headers in 124 bytes (1 switches on core 0)
{address space usage: 518287360 bytes/494MB} {rss usage: 103837696 bytes/99MB} [pid: 93|app: 0|req: 3/5] 10.132.0.21 () {24 vars in 277 bytes} [Tue Nov  6 15:13:58 2018] GET / => generated 6743 bytes in 50 msecs (HTTP/1.1 200) 4 headers in 124 bytes (1 switches on core 0)
{address space usage: 523993088 bytes/499MB} {rss usage: 109875200 bytes/104MB} [pid: 92|app: 0|req: 3/6] 10.132.0.4 () {24 vars in 275 bytes} [Tue Nov  6 15:13:58 2018] GET / => generated 6743 bytes in 50 msecs (HTTP/1.1 200) 4 headers in 124 bytes (1 switches on core 0)

Насколько я понимаю, в документации сказано, что

Контроллер Ingress сначала ищет совместимый пробоотборник, если он его находит, он принимает его как проверку работоспособности HTTP (S) нагрузочного балансировщика GCE. Если тест готовности отсутствует или для теста готовности требуются специальные заголовки HTTP, контроллер Ingress указывает проверку работоспособности HTTP балансировщика нагрузки GCE на '/'. Это пример Ingress, который использует проверку готовности от конечных точек в качестве проверки состояния.

Но я не понимаю этого поведения. Как можно ограничить проверки работоспособности только теми, которые я определил в своем развертывании?

Спасибо

1 Ответ

0 голосов
/ 23 февраля 2019

Хорошо, так что это очень хорошо может не работать. Я столкнулся с подобной проблемой, когда моя готовность проверяет, что нас не уважают. Я смог отредактировать это из графического интерфейса консоли GCP. Выполните поиск «Healthcheck», а затем найдите проверки работоспособности, созданные GKE для службы.

Мне удалось сменить мой протокол на TCP, что заставило его работать по какой-то причине.

Стоит попробовать. Лично я столкнулся с этим при запуске многорегионального входа, поэтому мои настройки, вероятно, отличаются, но все еще основаны на GCE-Ingress.

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