Я не могу найти способ заставить модуль nginx разрешать URL-адреса других сервисов kubernetes.
Я НЕ использую kube-dns , мы используем исключительно kube2sky и пока не собираемся внедрять kube-dns, поэтому мне нужно исправить в этом сценарии.
Например, я хочу, чтобы nginx разрешил URL-адрес службы app.mynamespace.svc.skydns.local
, но если я запускаю эхо-запрос на этот URL-адрес, он разрешается успешно.
Моя часть конфигурации nginx:
location /api/v1/namespaces/mynamespace/services/app/proxy/ {
resolver 127.0.0.1
set \$endpoint \"http://app.mynamespace.svc.skydns.local/\";
proxy_pass \$endpoint;
proxy_http_version 1.1;
proxy_set_header Connection \"upgrade\";
}
Мне нужно указать целевой восходящий поток в переменной, потому что я хочу, чтобы nginx запускался, даже если цель недоступна, если я не указал переменную, nginx аварийно завершает работу при запуске, потому что восходящий поток должен быть доступен и разрешаем.
Проблема, я думаю, заключается в значении решателя, которое я пробовал с 127.0.0.1
, с 127.0.0.11
и с IP-адресом skydns, указанным в конфигурации 172.40.0.2:53
:
etcdctl get /skydns/config
{"dns_addr":"0.0.0.0:53","ttl":4294967290,"nameservers":["172.40.0.2:53"]}
Но nginx пока не может разрешить URL.
Какой IP-адрес я должен указать в поле решателя в конфигурации nginx для конфигурации kubernetes и skydns?
Помните, что у нас нет kube-dns.
Спасибо.