Skip to content

kahkhang/kube-linode

Repository files navigation

🐳 Provision a Kubernetes / CoreOS Cluster on Linode

Bash GitHub license Gitter

Automatically provision a scalable CoreOS/Kubernetes cluster on Linode with zero configuration.

Demo

The cluster will comprise of a single Kubernetes master host with a custom number of worker nodes.

What's included

Usage

git clone https://github.com/kahkhang/kube-linode
cd kube-linode
chmod +x kube-linode.sh

Just run ./kube-linode.sh create into your console, key in your configuration, then sit back and have a ☕!
Settings are stored in settings.env, or you can pass them in as key-value flags as such:

./kube-linode.sh --no_of_workers=3 --api_key=12345

To increase the number of workers, modify NO_OF_WORKERS in settings.env as desired and run ./kube-linode.sh again.
Use kubectl to control the cluster (e.g. kubectl get nodes)


If you want to destroy the cluster created by kube-linode, you can run the following command:

./kube-linode.sh destroy

A prompt will be given listing all the nodes which will be destroyed upon confirmation .

Dependencies

You should have a Linode account, which you can get here. You should also have an API Key with a valid domain that uses Linode's DNS servers.

OSX: brew install jq openssl curl kubectl

Arch Linux: Follow the instructions here

Acknowledgements

This script uses Bootkube to bootstrap the initial cluster using Linode's API.