微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

amazon-web-services – DNS无法解决Kubernetes中的NGINX问题

我有一个我用kube-aws设置的Kubernetes集群.我正在尝试运行自定义Nginx配置,该配置使用DNS解析到proxy_pass.这是Nginx代码

location /api/v1/lead {
  resolver 10.3.0.10 ipv6=off;
  set $container lead-api;
  proxy_pass http://$container:3000;
}

10.3.0.10来自Kubernetes中的DNS服务的集群IP.我也试过127.0.0.11,这是我们在docker-compose / docker环境中使用的.

$kubectl describe --namespace=kube-system service kube-dns
Name:                   kube-dns
Namespace:              kube-system
Labels:                 k8s-app=kube-dns
                        kubernetes.io/cluster-service=true
                        kubernetes.io/name=KubednS
Selector:               k8s-app=kube-dns
Type:                   ClusterIP
IP:                     10.3.0.10
Port:                   dns     53/UDP
Endpoints:              10.2.26.61:53
Port:                   dns-tcp 53/TCP
Endpoints:              10.2.26.61:53
Session Affinity:       None

此配置适用于使用docker-compose的三种不同环境.但是,我在Kubernetes集群的Nginx日志中收到以下错误

[error] 9#9: *20 lead-api Could not be resolved (2: Server failure),client: 10.2.26.0,server:,request: “GET /api/v1/lead/661DF757-722B-41BB-81BD-C7FD398BBC88 HTTP/1.1”

如果我在Nginx pod中运行nslookup,我可以使用相同的DNS服务器解析主机:

$kubectl exec Nginx-1855584872-kdiwh -- nslookup lead-api
Server:         10.3.0.10
Address:        10.3.0.10#53

Name:   lead-api.default.svc.cluster.local
Address: 10.3.0.167

我不知道它是否重要,但请注意错误的“服务器”部分是空的.当我查看dnsmasq的pod日志时,我看不到任何相关内容.如果我更改Nginx块以对proxy_pass进行硬编码,那么它就可以解决.但是,我有其他需要动态代理名称的配置.我可以通过这种方式对每个上游进行硬编码,但我想知道如何使DNS解析器工作.

location /api/v1/lead {
  proxy_pass http://lead-api:3000;
}
最佳答案
解析名称失败,因为您需要使用完全限定域名.也就是说,你应该使用:

导致-API<命名空间> .svc.cluster.local

不只是

铅API

仅使用主机名通常是有效的,因为在kubernetes中,resolv.conf配置了搜索域,因此您通常不需要提供服务的FQDN.例如:

search default.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.3.240.10
options ndots:5

但是,当您告诉Nginx使用自定义解析程序时,指定FQDN是必要的,因为它无法获得这些域搜索规范的好处.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐