Kubernetes本地集群中的networking和DNS与Docker

我已经从Github的发布标签下载了Kubernetes二进制文件。 我把二进制文件放在我的path(即kubectl)

我按照这个指南启动了一个简单的使用Docker容器的本地集群: http : //kubernetes.io/v1.0/docs/getting-started-guides/docker.html

现在我可以从127.0.0.1:8080联系Kubernetes API,我得到了Nginx的pod运行和服务暴露。 我有一个范围为172.17.42.1/16的“docker0”接口对容器执行“docker inspect”会返回该范围内的IP。 做'kubectl获取服务'从范围10.0.0.0/24返回IP我可以使用从10.0.0.x和172.16.xx的IP到达Nginx

networking如何build立? 为什么'nginx'服务没有出现在/ api / v1 / services?

另外我想用Heapster + InfluxDB + Grafana设置监控。 Heapster将尝试使用无法parsing的主机名连接到InfluxDB。 所以我search了如何为Kubernetes启动DNS服务器。 我在kubernetes / cluster / addons / dns下修改了一些文件yaml skydns-rc.yaml要求Kubernetes Master IP调用API来发现服务。

什么是Kubernetes Master IP? 从docker主机Kubernetes Master IP是127.0.0.1,但它不能从仓内到达(afaik 127.0.0.1里面的豆荚是豆荚本身)它不是10.0.0.1,因为它不从docker主机既不是从kube2sky容器。

我无法在文档或Github上find任何帮助,因为它非常专注于云和GCE。

谢谢你的帮助!

如果您没有configuration服务帐户(可能不需要),则DNS pod可以使用KUBERNETES_SERVICE_HOST环境variables或您真正使用的计算机的IP(而不是127.0.0.1)