amazon-web-services – DNS无法解决Kubernetes中的NGINX问题
我有一个我用kube-aws设置的Kubernetes集群.我正在尝试运行自定义NGINX配置,该配置使用DNS解析到proxy_pass.这是NGINX代码块
10.3.0.10来自Kubernetes中的DNS服务的集群IP.我也试过127.0.0.11,这是我们在docker-compose / docker环境中使用的.
此配置适用于使用docker-compose的三种不同环境.但是,我在Kubernetes集群的NGINX日志中收到以下错误
如果我在NGINX pod中运行nslookup,我可以使用相同的dns服务器解析主机:
我不知道它是否重要,但请注意错误的“服务器”部分是空的.当我查看dnsmasq的pod日志时,我看不到任何相关内容.如果我更改NGINX块以对proxy_pass进行硬编码,那么它就可以解决.但是,我有其他需要动态代理名称的配置.我可以通过这种方式对每个上游进行硬编码,但我想知道如何使DNS解析器工作.
最佳答案
解析名称失败,因为您需要使用完全限定域名.也就是说,你应该使用:
导致-API<命名空间> .svc.cluster.local 不只是 铅API 仅使用主机名通常是有效的,因为在kubernetes中,resolv.conf配置了搜索域,因此您通常不需要提供服务的FQDN.例如:
但是,当您告诉nginx使用自定义解析程序时,指定FQDN是必要的,因为它无法获得这些域搜索规范的好处. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |