vigevenoj / k8sharkbait

Spins up a kubernetes cluster with applications on Linodes from scratch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add persistent volumes

vigevenoj opened this issue · comments

This is currently fine running via minikube but to go live it needs to have persistent volumes for storing stuff, which so far is:

  • influxdb data/config
  • chronograf data/config
  • kapacitor data/config
  • telegraf data/config
  • postgresql data
  • traefik data

~30gb (5gb for each, even though it seems overkill for traefik) should be fine to start with, as long some sort of monitoring+alerting is set up for when that's no longer enough

This needs clean up for publishing but is mostly done:

  • Volumes created and attached to VMs via the linode cli
  • Gluster/Heketi spun up by running gk-deploy.sh from the gluster-kubernetes on one of the nodes in the cluster

The volume creation/attachment code is in the python that needs to be cleaned up and published

Ansible playbooks generate our topology.json, copy it to a node, and use it as input to gk-deploy.

All that's left to do is to either take the output of gk-deploy and scrape it for the heketi address, or use kubectl to do that, and then put that value into storageclass.yaml

Given that https://github.com/heketi/heketi is in "almost maintenance" mode and https://github.com/gluster/gluster-kubernetes is archived; don't use them for storage here. linode-blockstorage-csi looks like the best option going forward and lines up with other supported mechanisms