тем, что nginx кеширует на момент запуска dns-адреса. Из-за этого, если у вас меняется айпишник за доменом, то апстрим перестает работать. Это решается тем, что апстрим вводится через переменную и добавляется директива resolver.
                  
                  
                  Итак, я запускаю тестовый под c nginx и подсовываю такую конфигурацию:
                  
                  
                  server {
                  
                  
                    listen 80;
                  
                  
                    
                  
                  
                    location /test {
                  
                  
                      resolver 10.100.0.10 valid=10s ipv6=off;
                  
                  
                      set $backend_upstream "http://exapmle.com";
                  
                  
                      proxy_pass $backend_upstream;
                  
                  
                    }
                  
                  
                  
                  
                  
                    location / {
                  
                  
                      add_header Content-Type text/plain;
                  
                  
                      return 200 'BIBA';
                  
                  
                    }
                  
                  
                  }
                  
                  
                  
                  
                  
                  При curl -L localhost/test из пода по идее должен отработать резолвер nginx'a. Но как это проверить?
                  
                  
                  
                  
                  
                  Я смотрю внутри пода появятся ли новые udp-cоединения к coredns кубовском, но там ничего нет
                  
                  
                  
                  
                  
                  watch -n0.1 -d 'netstat -tulpn | grep LISTEN'
                  
                  
                
если это вопрос про кубер, то не юзай такую херню и рули на уровнях ингреса и гейтвея
Это вопрос скорей про nginx
Да, понятно, но уже такое есть дерьмо и надо с ним разбираться
проще перетащить на ingress
Оно уже все есть в отдельном поде и так. Ничего перетаскивать не надо
netstat -tulpn показывает слушащие соединения. Что ты там собираешься увидеть?
Ну, не надо пользоваться инструментом который предоставляет технология, так не надо. дело ваше. Хотите костылить - штош Чтобы увидеть запросы в корднс, вангую, надо посмотреть в под корднса
Значит не идет в корднс. Или дебаг не включен
Дебаг не включен
Можно ли посмотреть исходящие соединения от nginx к резолверу?
tcpdump подрубить в теории можнго, да
Ну я потыкал какие-то полурандомные команды из интернета и видно, что идет запрос к резолверу, указанному мной в конфиге nginx(поменял 169.254.169.253) Осталось систематизировать это все
Или сделать по человечкски без костылей
Обсуждают сегодня