2 min read

Kubeadm Terraform

Recently I’ve been working on a project for the Buffalo Kubernetes Meetup, we want to provide users with a sandbox environment to hack around in, or perhaps even do some sort of workshop or scavenger hunt.

However, we have a few constraints; predominately cost. Whatever the solution, it needs to be stood up fast, and deleted fast. Once delete there‚Äč can’t be any leftover resources because those cost money.

We also have users that very interested in using CNCF technologies outside of Kubernetes. Since we need to configure a VPC anyway this was a good time to get some Terraform. automation.

Current Functionality

Keep in mind it’s still a work in progress but so far the feature are:

  • Stands up a VPC
  • Configures all the networking
  • Deploys a highly available control plane
  • Adds in Calico CNI for networking and network policy enforcement
  • Configures Nginx Ingress as an Ingress resource

Future Functionality

Future plans include adding support for:

Call to Arms

You can find the work here: https://github.com/dmolik/bflo-kube-tf which currently spins this entire deployment in roughly 3 minutes.

I would really appreciate any critical feedback, feature requests, or help you can offer. Also, I’m a terrible speller, feel free to PR those grammer fixes!

Resources Used

There are several existing resources which have been leveraged for this solution: