What exactly is the difference between Api Server proxy and kube proxy which runs on every node.

326 views
Skip to first unread message

Ankit Nanglia

unread,
Feb 25, 2016, 4:34:59 AM2/25/16
to kubernetes-sig-network


1) From the kubernetes architecture diagram, one can see that Internet (outside world) is connecting to kubernetes cluster via proxy running in one of the nodes. What if the node itself goes down completely, In this case outside world (Internet) won't be able to contact kubernetes nodes. How actually this works?






2) I can also use API server proxy to communicate with the service as:- 

http://{SERVER_IP}:8080/api/v1/proxy/namespaces/default/services/nginx-service/

In this case, does API server picks one of the proxy running on a node and route the request? 


Can anyone explain this?


Thanks


Pablo Mercado

unread,
Feb 25, 2016, 5:04:43 AM2/25/16
to kubernetes-sig-network
Hi Ankit.
This question seems to be more suited to the kubernetes-dev group than to the networking one.

1) You can, and should have a number of nodes. Kubernetes is targeted to move pods around when a node dies, and update the service routing using kube-proxy. Draw some imaginary lines from the cloud shaped internet element in the graph to each node.

2) API server is used mainly to read and configure k8s objects. If you want to communicate with a service, create a service object, and use it's endpoints, which can be used inside pods, or exposed to the outside using NodePort or LoadBalancer (if the Cloud Provider implements LB).

I'd suggest reading networking model for your first question:
http://kubernetes.io/v1.1/docs/admin/networking.html

and services types for the second:
http://kubernetes.io/v1.1/docs/user-guide/services.html

Cheers!
Reply all
Reply to author
Forward
0 new messages