Проблема с таймаутом входа в Kubernetes nodejs

#node.js #nginx #kubernetes #nginx-ingress

#node.js #nginx #kubernetes #nginx-вход

Вопрос:

Я запускаю свой сервер nodejs в кластере kubernetes с использованием Ingress. Я использую приведенное ниже, чтобы предотвратить тайм-ауты.

 nginx.ingress.kubernetes.io/proxy-connect-timeout: "120"
nginx.ingress.kubernetes.io/proxy-read-timeout: "180"
nginx.ingress.kubernetes.io/proxy-send-timeout: "180"
  

Я все еще получаю 502 bad gateway error . Это не согласовано, я получаю 502 через 7 секунд, 20 секунд, 60 секунд и т.д.

Когда я просматриваю журналы входа, я вижу следующие ошибки

  shm_add_upstream::shm_add_node(host:port)failed while logging request

shm_add_node::ngx_slab_alloc_locked() failed: used_size[6313245], used_node[2542] while logging request, 

shm_add_server() failed while logging request
  

Есть ли способ устранить вышеуказанную проблему? Связано ли это с какой-либо проблемой с памятью?

Ответ №1:

  1. Проверьте размер общей памяти, используемой nginx-module-vts

  2. По умолчанию установлено значение более 32M общей памяти.

    vhost_traffic_status_zone shared:vhost_traffic_status:32m

  3. Если проблема все еще появляется, увеличьте значение до большего, чем (usedSize * 2).

Пример nginx.conf

 http {
  vhost_traffic_status_zone;
  vhost_traffic_status_zone shared:vhost_traffic_status:32m;
}
  

Комментарии:

1. 6313245 в кб или МБ?

2. @Hacker kb . 6313245 он используется?

3. Можете ли вы помочь мне, как проверить текущее значение в kubernetes и как его увеличить?

4. @Хакер либо в веб-интерфейсе, Server main -> shared memory -> used size либо в http-блоке / etc /nginx / nginx.conf . Если вы еще не читали это — github.com/vozlt /…

5. @A_Sush — У меня нет файла nginx.conf. Я выполнил только настройку входа. Моим приложением является сервер nodejs