From 645697409d6ef1b405fda3f104aacaee81346a41 Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Wed, 19 Nov 2014 15:50:31 -0800 Subject: [PATCH] updated services with more details on public ips --- docs/services.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/services.md b/docs/services.md index f882d22b0a9..4a367a49ee5 100644 --- a/docs/services.md +++ b/docs/services.md @@ -128,7 +128,19 @@ being aware of which `pods` they are accessing. ![Services detailed diagram](services_detail.png) ## External Services -For some parts of your application (e.g. your frontend) you want to expose a service on an external (publically visible) IP address. To achieve this, you can set the ```createExternalLoadBalancer``` flag on the service. This sets up a cloud provider specific load balancer (assuming that it is supported by your cloud provider) and also sets up IPTables rules on each host that map packets from the specified External IP address to the service proxy in the same manner as internal service IP addresses. +For some parts of your application (e.g. your frontend) you want to expose a service on an external (publically visible) IP address. + +If you want your service to be exposed on an external IP address, you can optionally supply a list of "publicIPs" +which the service should respond to. These IP address will be combined with the Service's port and will also be +mapped to the set of pods selected by the service. You are then responsible for ensuring that traffic to that +external IP address gets sent to one or more kubernetes worker nodes. An IPTables rules on each host that maps +packets from the specified public IP address to the service proxy in the same manner as internal service IP +addresses. + +On cloud providers which support external load balancers, there is a simpler way to achieve the same thing. On such +providers (e.g. GCE) you can leave ```publicIPs``` empty, and instead you can set the +```createExternalLoadBalancer``` flag on the service. This sets up a cloud provider specific load balancer +(assuming that it is supported by your cloud provider) and populates the Public IP field with the appropriate value. ## Shortcomings We expect that using iptables for portals will work at small scale, but will