При использовании переменной для перезаписи и прокси во внутреннюю службу Openshift в конфигурации proxy_pass контейнера nginx, NGINX не может разрешить DNS службы из-за требуемого преобразователя.Например:
location /api/ {
set $pass_url http://service.namespace.svc:8080$request_uri;
proxy_pass $pass_url;
}
При использовании стандартных Kubernetes я могу использовать kube-dns.kube-system.svc.cluster.local
в качестве распознавателя:
resolver kube-dns.kube-system.svc.cluster.local;
Но Openshift не предоставляет этого.Я попытался использовать IP-адрес в контейнере /etc/resolv.conf
, который является лишь одним из узлов в моем кластере, на котором работает DNS-сервер, но он все еще не может разрешить.
Самая странная частьnslookup service.namespace.svc
изнутри контейнерного терминала использует сервер имен в /etc/resolv.conf
, и он отлично работает.
Есть ли эквивалент OpenNift для имени хоста Kubernetes DNS или, возможно, другое решение, чтобы обойти это?