<p>Could someone explain how to setup the external Ip on the 'frontend' service. I know that Vagrant don't support "type: LoadBalancer" and I don't know how to expose an Ip to my host. Thanks</p>

<p>First of all you should change your service type in the guestbook service definition:</p>

<pre><code>diff --git a/guestbook-service.json b/guestbook-service.json
index cc7640e..fadef78 100644
--- a/guestbook-service.json
+++ b/guestbook-service.json
@@ -17,6 +17,6 @@
       "selector":{
          "app":"guestbook"
       },
-      "type": "LoadBalancer"
+      "type": "NodePort"
    }
 }
</code></pre>

<p>Then stop and restart the service with:</p>

<pre><code>kubectl delete -f guestbook-service.json
kubectl create -f guestbook-service.json
</code></pre>

<p>Look at your node IP address with:</p>

<pre><code>kubectl get nodes
</code></pre>

<p>For example, for me this was the result:</p>

<pre><code>$ kubectl get nodes
NAME          LABELS                               STATUS    AGE
172.17.4.99   kubernetes.io/hostname=172.17.4.99   Ready     3h
</code></pre>

<p>Finally, you can find out your service nodeport with:</p>

<pre><code>kubectl describe services guestbook
</code></pre>

<p>For example, for me this was the result:</p>

<pre><code>$ kubectl describe services guestbook
Name:           guestbook
Namespace:      default
Labels:         app=guestbook
Selector:       app=guestbook
Type:           NodePort
IP:         10.3.0.47
Port:           &lt;unnamed&gt;   3000/TCP
NodePort:       &lt;unnamed&gt;   32757/TCP
Endpoints:      10.2.76.12:3000,10.2.76.8:3000,10.2.76.9:3000
Session Affinity:   None
No events.
</code></pre>

<p>At this point, using the node IP you got earlier, and the NodePort you just found, you should be able to connect:</p>

<pre><code>$ curl 172.17.4.99:32757
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
  &lt;head&gt;
    &lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;meta content="width=device-width" name="viewport"&gt;
    &lt;link href="/style.css" rel="stylesheet"&gt;
    &lt;title&gt;Guestbook&lt;/title&gt;
[...]
</code></pre>

<p>Note: the NodePort is usually allocated from a flag-configured range, by default it is 30000-32767.</p>
