我找不到让nginx pod解析另一个kubernetes服务url的方法。
我没有使用库贝-dns,我们只使用kube2sky,我们还没有实现库贝-dns,所以我需要修复这个场景。
例如,我希望nginx解析服务URLapp.mynamespace.svc.skydns.local
,但如果我对该URL运行ping,它将成功解析。
我的nginx配置部分是:
location /api/v1/namespaces/mynamespace/services/app/proxy/ {
resolver 127.0.0.1
set \$endpoint \"http://app.mynamespace.svc.skydns.local/\";
proxy_pass \$endpoint;
proxy_http_version 1.1;
proxy_set_header Connection \"upgrade\";
}
我需要在变量中指定目标上游,因为我希望nginx启动,即使目标不可用,如果我没有在变量中指定nginx启动时崩溃,因为上游需要可用且可解析。
我认为问题是解析器值,我尝试了127.0.0.1
,127.0.0.11
,以及配置中指定的skydns IP172.40.0.2:53
:
etcdctl get /skydns/config
{"dns_addr":"0.0.0.0:53","ttl":4294967290,"nameservers":["172.40.0.2:53"]}
但是nginx还不能解析URL。
我应该在nginx配置中的解析器字段中为kubernetes和skydns配置指定什么IP?
记住我们没有库贝-dns。
非常感谢。
我认为解析app.mynamespace.svc.skydns.local与配置上游DNS服务器无关。通常,为此,您需要配置一个知名的DNS服务器,如8.8.8.8
,或者您的云基础设施DNS服务器,可能是172.40.0.2
。例如,如文档中所述:
$ curl -XPUT http://127.0.0.1:4001/v2/keys/skydns/config \
-d value='{"dns_addr":"127.0.0.1:5354","ttl":3600, "nameservers": ["8.8.8.8:53","8.8.4.4:53"]}'
您可能需要检查kube2sky2
pod的日志,以获取任何指导,并指定所有配置选项,如--kube master url
,--etcd server
。也许它无法与Kubernetes大师交谈并接收运行吊舱的更新,以便SRV条目得到更新。
我认为的服务不可用。 : 谁能帮忙?
我们正在考虑在每个库伯内特斯主机上运行SkyDNS,带有守护程序集或静态吊舱(通过库伯内特斯清单)。我们想让每个容器都使用本地SkyDNS,故意绕过库伯内特斯集群IP/库贝-代理路由。实现此目的的一种方法是将DNS端口53从SkyDNS Pod映射到每个主机,并强制每个容器在主机上解析。可能是通过某种方式将docker网桥IP传递给kubelet,并在一个system d单元中使用--clum-d
SkyDNS 是一个相对新的项目它采用Go语言编写,使用了RAFT用于一致性,并提供了HTTP和DNS两种客户端API.它与Etcd和Spotify的DNS模型有点类似,事实上它采用了和Etcd,go-raft同样的RAFT实现。 SkyDNS服务器聚簇在一起,使用RAFT协议,并选择出一个主服务。SkyDNS服务器暴露不同的结点用于服务注册和发现。 为了注册服务,服务会使用基于HTTP的API创
请原谅一个非常初级的问题。 我很难理解nginx'解析器'参数及其工作原理。我已经阅读了留档,搜索了教程和帖子(使用解析器、nginx和dns等关键字),但我仍然不确定如何应用解析器。 http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver "配置用于将上游服务器的名称解析为地址的名称服务器......" 根据这个定义,它似
我使用的是标准的skydns RC/SVC YAMLS。 吊舱描述: (etcd) 我还将放入kube2sky容器中,ca.crt与服务器上的ca.crt匹配。
本文向大家介绍服务器Apache与Tomcat和Nginx的理解和对比分析详解,包括了服务器Apache与Tomcat和Nginx的理解和对比分析详解的使用技巧和注意事项,需要的朋友参考一下 1 问题 公司服务器用的Apache,后台是php语言,然后服务端用的linux C/C++,会经常听到Apache服务器,然后之前实习的公司服务端用的java,然后依稀记得使用了nginx反向代理服务器和t