система проверки вверх по течению - PullRequest
0 голосов
/ 24 октября 2019

У меня есть странное явление, когда один из моих сервисов перестает отвечать (хотя соответствующий модуль все еще работает), и nginx-вход запускает цикл рассылки спама.

Эти проверки очень быстро выполняются последруг друга и каждая неудачная проверка вызывает сообщение журнала. эти сообщения журнала занимают память до тех пор, пока не останется больше памяти (и больше не будет места подкачки), и весь сервер перезагрузится.

Я не могу выяснить причину такого поведения. Я смог определить, что сервер ведет себя корректно, если я изменяю сервисный порт, сохраняю и изменяю его обратно, что заставляет вход перезагрузить.

немного больше при настройке: вход настроен на отправку трафикана определенных портах для определенных сервисов (чистый tcp, без http).

apiVersion: v1
data:
  "25": mail/postfix:25
  "143": mail/dovecot:143
  "465": mail/postfix:465
  "587": mail/postfix:587
  "993": mail/dovecot:993
kind: ConfigMap
metadata:
  creationTimestamp: "2019-09-13T15:25:03Z"
  labels:
    app: nginx-ingress
    chart: nginx-ingress-1.17.1
    component: controller
    heritage: Tiller
    release: nginx-ingress
  name: nginx-ingress-tcp
  namespace: ingress
  resourceVersion: "36494639"
  selfLink: /api/v1/namespaces/ingress/configmaps/nginx-ingress-tcp
  uid: a871d451-d63a-11e9-995d-d43d7e4a45d7

сервис не является чем-то особенным, постфикс после него не является чем-то особенным. Весь K8S настроен на голое железо и в настоящее время работает версия 1.13.2

Я хорошо знаю, что это должно быть как-то связано с этим методом прохождения через tcp-трафик, так как журналы показывают много много многотакие записи:

{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.806192849Z"}
{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.806230273Z"}
{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.806263649Z"}
{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.80630235Z"}
{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.806336273Z"}
{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.806371894Z"}
{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.806406819Z"}
{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.806447214Z"}
{"log":"2019/10/24 10:45:09 [error] 43#43: *132090 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: \"10.244.0.9:465\", bytes from/to client:0/0, bytes from/to upstream:0/0\n","stream":"stderr","time":"2019-10-24T10:45:09.806482653Z"}

, поскольку это (пока я писал) только что произошло снова, у меня есть строки журнала при изменении порта вперед и назад:

2019/10/24 11:43:15 [error] 46#46: *52192 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: "10.244.0.47:465", bytes from/to client:0/0, bytes from/to upstream:0/0
2019/10/24 11:43:15 [error] 46#46: *52192 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: "10.244.0.47:465", bytes from/to client:0/0, bytes from/to upstream:0/0
2019/10/24 11:43:15 [error] 46#46: *52192 connect() failed (111: Connection refused) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: "10.244.0.47:465", bytes from/to client:0/0, bytes from/to upstream:0/0
2019/10/24 11:43:15 [crit] 46#46: *52192 connect() to 0.0.0.1:1234 failed (22: Invalid argument) while connecting to upstream, client: 10.244.0.1, server: 0.0.0.0:465, upstream: "0.0.0.1:1234", bytes from/to client:0/0, bytes from/to upstream:0/0
[24/Oct/2019:11:43:15 +0000]TCP50200312.875
I1024 11:43:27.562564       6 event.go:258] Event(v1.ObjectReference{Kind:"ConfigMap", Namespace:"ingress", Name:"nginx-ingress-tcp", UID:"a871d451-d63a-11e9-995d-d43d7e4a45d7", APIVersion:"v1", ResourceVersion:"41186759", FieldPath:""}): type: 'Normal' reason: 'UPDATE' ConfigMap ingress/nginx-ingress-tcp
I1024 11:43:27.564237       6 controller.go:133] Configuration changes detected, backend reload required.
I1024 11:43:27.677561       6 controller.go:149] Backend successfully reloaded.

Мой вопрос тогдабыло бы: как я могу стабилизировать это?

Редактировать Дальнейшие исследования показывают, что это проблема nginx, а не проблема kubernetes или ingress.

С наилучшими пожеланиями, scones

...