Beiboot Introduction

The Problem
With complex application landscapes, running Kubernetes-based workloads locally becomes infeasible. Swiftly testing applications with different Kubernetes versions can be impossible depending on organizational policies. Spinning up a Kubernetes cluster with Terraform or Cloud providers takes to long for a convenient development workflow or CI pipelines.
The SolutionWith Beiboot you only need one host Kubernetes cluster that runs the Getdeck Beiboot operator. Beiboot creates Kubernetes clusters as deployments in a matter of seconds. The operator creates several ways to connect to that cluster and makes it simple to get started working with Kubernetes.
Getdeck Beiboot (or just Beiboot for brevity) is a Kubernetes-in-Kubernetes solution. It was born from the idea to provide Getdeck users with a simple yet flexible solution to spin up a hybrid cloud development infrastructure. This is useful for development workloads that grew too large to run on a development machine (or with pony workloads on macOS and Windows machines).
If you like Beiboot, please give us a ⭐ star on GitHub and support this project.
Features
Beiboot offers:
- to create a fresh ad-hoc Kubernetes cluster in seconds (much faster than Terraform or Cloud-provider)
- automatic management of Beiboot clusters (via lifetime, inactivity, etc.)
- shelve ("snapshot") a running Beiboot cluster with state and restore them as often as needed
- run isolated workloads within Kubernetes; cheap and with the best resource utilization
- automatic distribution of kubeconfig and tunnel connection to clients (using the Beiboot client package)
- built-in support for Gefyra
Tested on:
- Google Kubernetes Engine
- AWS Elastic Kubernetes Service
- k3d
- Minikube (with Docker driver)
Kubernetes-in-Kubernetes
There are a couple of advantages running a logical ("virtual") Kubernetes cluster running within a physical Kubernetes cluster. The main focus of Beiboot is the on-demand creation of Kubernetes clusters for development and testing purposes. Beiboot has potential for other scenarios, too. For example, strong workload isolation, multi-tenancy, CI, security and more.
Beiboot comes with a Kubernetes operator. It handles the management of ad-hoc logical clusters based on the requested parameters. This includes the Kubernetes version, the way of exposing the cluster, lifetime and so on.
A Local Kubernetes Cluster in the Cloud
Beiboot's client does not only order a cluster based on the given parameters but also establishes a secure connection to it. It makes the requested ports (usually port 80 for http, port 443 for https) available on localhost, effectively making remote services available as they would run on the local machine. That happens entirely automatically using a secured mTLS connection. This works for any port.
Demo
This demo shows the following steps on a GKE host cluster:
- Install Beiboot
- Create a Beiboot cluster with 3 nodes and local port 8080 is forwarded to cluster port 80
- Connect to this cluster
- Disconnect and remove the Beiboot cluster
