/kube-linode

:whale: Provision a Kubernetes/CoreOS cluster on Linode

Primary LanguageShellMIT LicenseMIT

🐳 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 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)


Later, should you want to start over from scratch, or if you just want to stop everything, you can run

./kube-linode.sh teardown

And all your linodes - everything - will be deleted.

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.