Deploying a Kubernetes cluster to Digital Ocean?

3/29/2015

It seems like get.k8s.io is the recommended way to deploy a Kubernetes cluster, but Digital Ocean isn't supported by this script.

Is there an alternate way to easily set up a cluster on Digital Ocean that I've missed?

Thanks

-- user964375
digital-ocean
kubernetes

5 Answers

10/3/2016

You can use this a start point. I have used it too.

https://github.com/jiteshmohan/kubernetes-do

I got an old version of my current scripts to deploy my personal cluster to DO using terraform if you want to take a look.

https://github.com/cescoferraro/kubernetes-do

LOoks like Skippbox came up with a nice tool to deploy a single kubernetes instance on DO:

https://github.com/skippbox/kmachine

-- CESCO
Source: StackOverflow

8/4/2017

You can use kubicorn to create a fairly dope kubernetes cluster in Digital Ocean pretty easily. Here are the steps needed to do so:

// Install kubicorn
go get github.com/kris-nova/kubicorn

// Configure your auth
export DIGITALOCEAN_ACCESS_TOKEN=***************************************** 

// Create your kubernetes profile from the default profile
kubicorn create mycluster --profile do

// Tweak your cluster as you like
kubicorn edit mycluster

// Apply your profile
kubicorn apply mycluster -v 4

// Use kubectl to access your cluster
kubectl get no

Note that kubicorn is vendored to be a library as well as a command line tool, so you should probably be able to also include this logic in a program if you'd like.

Source: https://www.nivenly.com/kubernetes-on-digital-ocean-with-encrypted-vpn-service-mesh/

-- Kris Nova
Source: StackOverflow

6/19/2017

You can do it manually, or using Ansible. I would suggest that you take a look at this github repo https://github.com/kubernetes-incubator/kubespray/blob/master/contrib/inventory_builder/inventory.py

You can actually deploy a working, multi-node, TLS-secured, production ready k8s cluster just by following these simple steps:

1) Create one or more machines on your favourite cloud hosting provider

You can use a Terraform script or do it by hand.

2) git clone https://github.com/kubernetes-incubator/kubespray/blob/master/contrib/inventory_builder/inventory.py

3) touch ./kubespray/inventory/inventory.cfg

4) Edit the file you've just created and do something like:

[etcd]
<master-ip>

[kube-master]
<master-ip>

[kube-node]
<node1-ip>
<node2-ip>
<node3-ip>

[k8s-cluster:children]
kube-node
kube-master

Look at the inventory example file for reference

5) install ansible on your machine via brew or apt-get e.g.

brew install ansible

6) run the ansible playbook

ansible-playbook -u root -b -i inventory/inventory.cfg cluster.yml

The user depends upon the Linux Distro you chose to deploy on the machines, but make sure that the use you select has root access.

Check out this youtube video: https://www.youtube.com/watch?v=N9q51JgbWu8&t=339s

-- xechelonx
Source: StackOverflow

10/29/2016

You can also use Kubeadm. Today I have installed a Kubernet cluster on digital ocean using Kubeadm.

It seems Kubeadm is a google developed tool and going to be google's recommended way soon. Though, as of today it is in alpha state now.

The details are given here Using kubeadm to Create a Cluster | Kubernetes

-- rayhan
Source: StackOverflow

10/1/2015

Tim Smart put together some Digital Ocean Ansible playbooks here. I haven't tried them, but it looks like they have been updated to work with Kubernetes v1.0.3.

-- CJ Cullen
Source: StackOverflow