Experiments with Kubernetes - Kubernetting from the Pub
So we decided for this sprint to do it from the pub. Why? Well… why not? This is a random outside-of-normal work hours experimental bit of R&D, after all! We had a nice cold pint, while reclining on sofas, while making code fly up and down the laptop.
The goal was simple: use a Helm Chart to rapidly deploy 3 x Drupal environments. The idea being that we start templating out our Dev, Test, and Live environments, so with one single command, we can create all three required environments as part of a new development project.
Using the Helm Chart with some configuration, we were easily able to achieve this.
What’s a Helm Chart you ask!? Here’s an excellent explanation from https://www.bmc.com/blogs/kubernetes-helm-charts/
What are Helm charts?
Helm Charts are simply Kubernetes YAML manifests combined into a single package that can be advertised to your Kubernetes clusters. Once packaged, installing a Helm Chart into your cluster is as easy as running a single helm install, which really simplifies the deployment of containerized applications.
Helm has two parts to it:
- The client (CLI), which lives on your local workstation.
- The server (Tiller), which lives on the Kubernetes cluster to execute what’s needed.
The idea is that you use the CLI to push the resources you need and tiller will make sure that state is in fact the case by creating/updating/deleting resources from the chart. To fully grasp helm, there are 3 concepts we need to get familiar with:
- Chart: A package of pre-configured Kubernetes resources.
- Release: A specific instance of a chart which has been deployed to the cluster using Helm.
- Repository: A group of published charts which can be made available to others
So with that critical step now accomplished, our next goal is to explore how to do GIT integration for local development. Then we can look at how to sync code/config etc between web-based Dev/Test/Live environs.
But it’s one step at a time. For us, doing experiments in Kubernetes was always just about having fun, learning a new tech, and keeping up to the play with the technology landscape. However if along the way we build some tools that turn out to be useful, then we’ll use’em!
More updates on their way as we continue to publicly document our journey down the rabbit hole.