0
votes

I have downloaded Kubernetes binaries from release tag in Github. I placed the binaries in my path (i.e. kubectl)

I followed this guide to start up a simple local cluster with Docker containers: http://kubernetes.io/v1.0/docs/getting-started-guides/docker.html

Now I can contact Kubernetes API from 127.0.0.1:8080 and I got Nginx pod running and service exposed. I have a 'docker0' interface with range 172.17.42.1/16 Doing 'docker inspect' to the containers returns me IP from that range. Doing 'kubectl get services' returns me IPs from range 10.0.0.0/24 I can reach Nginx using the IP from 10.0.0.x and 172.16.x.x

How is the networking set up? Why 'nginx' service is not showed up in /api/v1/services?

Also I want to set up monitoring with Heapster+InfluxDB+Grafana. Heapster will try to connect to InfluxDB using a hostname that fails to resolve. So I searched how to bring up DNS server for Kubernetes. I modified a little the files yaml under kubernetes/cluster/addons/dns skydns-rc.yaml require the Kubernetes Master IP to make calls to the API to discover services.

What is the Kubernetes Master IP? From the docker host Kubernetes Master IP is 127.0.0.1 but it is not reachable from inside the pods (afaik 127.0.0.1 inside the pods is the pod itself) It isnt 10.0.0.1 because its not working from the docker host neither from the kube2sky container.

I cant find any help in the documentation or Github as it is very focused for cloud and GCE.

Thanks for your help!

1
You have 3 questions here. Try to ask only one question, so that the answer is easier.Gramic

1 Answers

1
votes

The DNS pod can use the KUBERNETES_SERVICE_HOST environment variable or the IP of the machine you're really on (rather than 127.0.0.1) if you don't have service accounts configured (probably don't)