172 похожих чатов

Такой вопрос. А есть какой-нибудь изящный способ делать nginx -s

reload для Ingress Proxy, если после деплоя меняется адрес service ClusterIP, в который идёт proxy_pass? Ingress - это Deployment c Configmap.

17 ответов

12 просмотров

что такое "ingress proxy"? Если имеется в виду ingress nginx controller от kubernetes комьюнити. То он сам апстримами управляет (без релоада) и делает nginx reload в случае если меняется конфигурация (в вашем случае как я понял вы сниппет вставляете)

Artem- Автор вопроса
Dmitry Sergeev 🇺🇦
что такое "ingress proxy"? Если имеется в виду ing...

Выразился некорректно. Там классический nginx, который в Deployment + Configmap с конфигурацией. После изменения адреса в Service proxy_pass не работает, после nginx -s reload всё работает. Видимо в кэше nginx старый адрес. Видимо тут конечно вопрос больше к nginx, чем к Kubernetes, может как-то изящно сделать можно этот nginx -s reload..

Artem
Выразился некорректно. Там классический nginx, кот...

не задавайте адрес там. Пишите имя сервиса, там же DNS внутри кластера есть

Artem
Выразился некорректно. Там классический nginx, кот...

а зачем вы кстати адрес службы меняете? И как? Пересоздаете?

Artem- Автор вопроса
Dmitry Sergeev 🇺🇦
не задавайте адрес там. Пишите имя сервиса, там же...

У меня proxy_pass идет в адрес сервиса, но после полного деплоя приложения ( пересоздания svc, dc и так далее), proxy_pass вероятно идет на старый срезолвленный адрес, мое предположение.

Artem
У меня proxy_pass идет в адрес сервиса, но после п...

После передеплоя у службы не меняется ип адрес, если вы конечно не делаете че-то странное и не удаляете службу отдельно. Поэтому ваше предположение не верно

Artem- Автор вопроса
Dmitry Sergeev 🇺🇦
а зачем вы кстати адрес службы меняете? И как? Пер...

Службы? SVC после пересоздания получается адрес из пула, если, например, указать адрес предыдущего деплоя, руками, то всё работает. И при ngins -s reload внутри пода Nginx.

Artem
У меня proxy_pass идет в адрес сервиса, но после п...

А зачем вы при деплое пересоздание все!?

Artem
Службы? SVC после пересоздания получается адрес из...

Ну бесплатный nginx резолвит dns имена в директивах proxypass только при старте и релоаде

Artem- Автор вопроса
Lucky SB
А зачем вы при деплое пересоздание все!?

Вопрос хороший, тоже думал в эту сторону. Так и было. Думаю это сейчас поправить.

Artem
Службы? SVC после пересоздания получается адрес из...

по умолчанию TTL в kubernetes 30 секунд Если вы при деплое все пересоздаете с нуля. То в течении 30 секунд старый ип адрес может быть в DNS ответах - да.

Artem
TTL чего? Kubedns?

да, по умолчанию в coredns kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 } cache 30

Artem- Автор вопроса
Lucky SB
Ну бесплатный nginx резолвит dns имена в директива...

дак есил там все пересоздается с нуля. То nginx то запускается с нуля

А зачем нужен этот прокси? Стандартный ingress xcontroler чем не устроил?

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
например asm AT&T ... label: .string "hi" ... # not error lea label(%rip), %rax # error ( not compile ) mov %rip, %rax # not error mov (%rip), %rax из форумов прочитал чт...
Simple Sorcerer
6
Почему никто не подсказал, что можно объявить свои типы данных, в которых меньше полей, чем в отданном джейсоне, и добавлять их по необходимости?
Strange Rabbit
10
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Есть предложения, как подобное можно упростить?
Hemul GM
12
Карта сайта