<p>I'm building a container cluster using CoreOs and Kubernetes on DigitalOcean, and I've seen that in order to expose a Pod to the world you have to create a Service with Type: LoadBalancer. I think this is the optimal solution so that you don't need to add external load balancer outside kubernetes like nginx or haproxy. I was wondering if it is possible to create this using DO's Floating IP.</p>

<p>Things have changed, DigitalOcean created their own cloud provider implementation as answered <a href="https://github.com/kubernetes/kubernetes/issues/34783#issuecomment-357974666" rel="nofollow noreferrer">here</a> and they are maintaining a Kubernetes "<a href="https://kubernetes.io/docs/tasks/administer-cluster/running-cloud-controller/" rel="nofollow noreferrer">Cloud Controller Manager</a>" implementation:</p>

<blockquote>
  <p><a href="https://github.com/digitalocean/digitalocean-cloud-controller-manager#kubernetes-cloud-controller-manager-for-digitalocean" rel="nofollow noreferrer">Kubernetes Cloud Controller Manager for DigitalOcean</a></p>
  
  <p>Currently digitalocean-cloud-controller-manager implements:</p>
  
  <ul>
  <li><p>nodecontroller - updates nodes with cloud provider specific labels and
  addresses, also deletes kubernetes nodes when deleted on the cloud
  provider. </p></li>
  <li><p><strong>servicecontroller - responsible for creating LoadBalancers
  when a service of Type: LoadBalancer is created in Kubernete</strong>s.</p></li>
  </ul>
</blockquote>

<p>To try it out clone the project on your master node.</p>

<p>Next get the token key from <a href="https://cloud.digitalocean.com/settings/api/tokens" rel="nofollow noreferrer">https://cloud.digitalocean.com/settings/api/tokens</a> and run:</p>

<pre><code>export DIGITALOCEAN_ACCESS_TOKEN=abc123abc123abc123
scripts/generate-secret.sh
kubectl apply -f do-cloud-controller-manager/releases/v0.1.6.yml
</code></pre>

<p>There more examples <a href="https://github.com/digitalocean/digitalocean-cloud-controller-manager/tree/master/docs/controllers/services/examples" rel="nofollow noreferrer">here</a></p>

<p>What will happen once you do the above? DO's cloud manager will create a load balancer (that has a failover mechanism out of the box, more on it <a href="https://www.digitalocean.com/docs/networking/load-balancers/" rel="nofollow noreferrer">in the load balancer's documentation</a></p>

<p>Things will change again soon as DigitalOcean are jumping on the Kubernetes bandwagon, check <a href="https://blog.digitalocean.com/introducing-digitalocean-kubernetes/" rel="nofollow noreferrer">here</a> and you will have a choice to let them manage your Kuberentes cluster instead of you worrying about a lot of the infrastructure (this is my understanding of the service, let's see how it works when it becomes available...)</p>
