首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openshift - NGINX中的NGINX无法解析内部主机名

问Openshift - NGINX中的NGINX无法解析内部主机名
EN

Stack Overflow用户
提问于 2019-03-02 22:56:02
回答 3查看 1.7K关注 0票数 7

当在nginx容器的proxy_pass配置中使用变量重写和代理到内部Openshift服务时,由于需要解析器,NGINX无法解析服务的DNS。例如:

代码语言:javascript
复制
location /api/ {
   set $pass_url http://service.namespace.svc:8080$request_uri;
   proxy_pass  $pass_url;
}

当使用标准Kubernetes时,我可以使用kube-dns.kube-system.svc.cluster.local作为解析器:

代码语言:javascript
复制
resolver kube-dns.kube-system.svc.cluster.local;

但Openshift不提供此功能。我尝试使用容器的/etc/resolv.conf中的IP,这只是运行DNS服务器的集群中的一个节点,但它仍然无法解析。

在Openshift中有没有等同于Kubernetes DNS主机名的东西,我可以使用,或者可能有其他解决方案来解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2021-03-30 00:27:29

在OpenShift 4.7中运行ngnix时,我可以通过添加以下命令来解决此问题:

resolver dns-default.openshift-dns.svc.cluster.local

添加到server配置。显然,ngnix没有解析/etc/resolv.conf,但是(在我的例子中),dns-default.openshift-dns.svc.cluster.local也解析为172.30.0.10,它在/etc/resolv.conf中被定义为nameserver。

票数 2
EN

Stack Overflow用户

发布于 2019-09-12 20:58:04

在Openshift集群中,每个主节点上都有SkyDNS服务。它通常在端口8053上侦听。只需使用它们作为nginx配置的解析器,就可以了:

代码语言:javascript
复制
resolver your-openshift-master-node1-ip:8053 your-openshift-master-node2-ip:8053;
票数 0
EN

Stack Overflow用户

发布于 2019-03-03 00:00:41

从https://docs.openshift.com/container-platform/3.11/architecture/networking/networking.html#architecture-additional-concepts-openshift-dns上看,下面的代码应该可以工作

代码语言:javascript
复制
<service>.<pod_namespace>.svc.cluster.local
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54959812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档