Need help with kube-linode?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

kahkhang
207 Stars 36 Forks MIT License 172 Commits 16 Opened issues

Description

:whale: Provision a Kubernetes/CoreOS cluster on Linode

Services available

!
?

Need anything else?

Contributors list

:whale: 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

  • Kubernetes 1.11.0 with Bootkube
  • Load Balancer and automatic SSL/TLS renewal using Traefik
  • Distributed block storage with Rook
  • Pre-configured Grafana dashboard using Kube-Prometheus with Rook and Traefik monitoring
  • Basic auth protected subdomains (assuming you are using example.com):
    • https://kube.example.com (Kubernetes Dashboard)
    • https://grafana.example.com (Grafana)
    • https://alertmanager.example.com (Alert Manager)
    • https://prometheus.example.com (Prometheus Web UI)
    • https://traefik.example.com (Traefik Web UI) ### Usage
      sh
      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 :coffee:!
      Settings are stored in
      settings.env
      , or you can pass them in as key-value flags as such:
      sh
      ./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:

sh
./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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.