devkube
devkube bootstraps feature-rich Kubernetes clusters locally
Create Cluster (using Docker)
The default create
command will spin up a local DevKube cluster in a single container running in Docker. Lima, Podman Desktop, Rancher Desktop should work too.
$ devkube create
★ installing Kubernetes Cluster...
★ installing Cert-Manager...
★ installing Gatekeeper...
★ installing Crossplane...
★ installing Prometheus...
★ installing Grafana Loki...
★ installing Grafana Tempo...
★ installing Grafana...
★ installing Registry...
★ installing Dashboard...
★ installing Promtail...
★ installing OpenTelemetry...
Installed Components
Kubernetes Web UI
open Dashboard in browser
$ devkube dashboard
Grafana Web UI
open Grafana in browser
$ devkube grafana
Access cluster workload
To access workload services within your cluster, connect
allows you to forward these adresses and ports locally and allow easy access.
sudo devkube connect
...
5:58PM INF adding tunnel namespace=platform hosts="[dashboard.platform dashboard.platform.svc.cluster.local]" ports=[80]
5:58PM INF adding tunnel namespace=platform hosts="[grafana.platform grafana.platform.svc.cluster.local]" ports=[80]
...
Import a local image
# pull an image (or build one)
docker pull alpine:3
# import image into cluster registry
devkube load alpine:3
Build an image within cluster
cd /path/to/your/project
# cat Dockerfile
# FROM alpine:3
# RUN apk add --no-cache bash
# build image using buildkitd
devkube build demo .
★ creating container (default/loop-buildkit-704c031)...
★ copying build context...
...
★ removing container (default/loop-buildkit-704c031)..
# run impage in kubernetes
kubectl run -it --rm demo --image registry.platform/demo /bin/bash
demo:/# exit
Installation
MacOS / Linux with Homebrew
brew install adrianliechti/tap/devkube
Windows with Scoop
scoop bucket add adrianliechti https://github.com/adrianliechti/scoop-bucket
scoop install kubectl helm adrianliechti/devkube