ev0*_*n37 7 dns nginx resolver openshift openshift-origin
在 nginx 容器的 proxy_pass 配置中使用变量重写和代理内部 Openshift 服务时,由于需要解析器,NGINX 无法解析服务的 DNS。例如:
location /api/ {
set $pass_url http://service.namespace.svc:8080$request_uri;
proxy_pass $pass_url;
}
Run Code Online (Sandbox Code Playgroud)
使用标准 Kubernetes 时,我可以kube-dns.kube-system.svc.cluster.local用作解析器:
resolver kube-dns.kube-system.svc.cluster.local;
Run Code Online (Sandbox Code Playgroud)
但是 Openshift 不提供这个。我尝试使用容器中的 IP /etc/resolv.conf,它只是运行 DNS 服务器的集群中的节点之一,但它仍然无法解析。
最奇怪的部分是nslookup service.namespace.svc从容器终端内部使用名称服务器/etc/resolv.conf,它工作正常。
我可以使用 Openshift 中的 Kubernetes DNS 主机名,或者其他解决方案来解决这个问题?
| 归档时间: |
|
| 查看次数: |
1505 次 |
| 最近记录: |