#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:
-
Проверьте размер общей памяти, используемой nginx-module-vts
-
По умолчанию установлено значение более 32M общей памяти.
vhost_traffic_status_zone shared:vhost_traffic_status:32m
-
Если проблема все еще появляется, увеличьте значение до большего, чем (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