При использовании переменной для перезаписи и прокси для внутренней службы 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
и работает нормально.
Есть ли эквивалент DNS-имени хоста Kubernetes в Openshift, который я мог бы использовать, или, возможно, другое решение, чтобы обойти это?