An example Kubernetes cluster with working examples.
-
k9s (optional, but strongly recommended)
-
$ go install github.com/mikefarah/yq/v4@v4.34.2
The
v4.34.2
is the most recent version that still works with version of Go (v1.19.8
) available on stable Debian (Bookworm).Note that the Python alternative available via
apt install yq
will NOT work, because it:- converts YAML to JSON by default (no
-o
argument) - does not parse JSON (unknown argument
-p
), which is why it is not used here
Make sure that it is either not installed or the
$PATH
is set such that the Go alternative (usually installed into${HOME}/.local/share/go/bin/yq
) is used. - converts YAML to JSON by default (no
-
KinD: Local Kubernetes cluster using Docker container "nodes".
-
MiniKube: Lightweight local Kubernetes cluster. [TODO]
-
Common: Common general cluster configuration/deployments.
- Debug: The troubleshooting pod providing interactive shell running inside the Kubernetes cluster.
- ArgoCD: Declarative GitOps continuous delivery tool.
- FluxCD: Continuous delivery tool for Kubernetes. [TODO]
- MetalLB: Load balancer for bare metal Kubernetes clusters (such as KinD).
- NginX: Ingress Controller based on NginX.
- Traefik: Traefik Ingress Controller based on Traefik. [TODO]
- Static Page: Simple static web page.
- Git Server: Git server providing access to repositories over HTTP.
- scripts
Alternatively, each component can be manipulated using its specific scripts described in the respective read-me files.