kota's memex

helm

Package manager.

spin up clusters

K3s, minikube, and microk8s are different ways to spin up kubernetes clusters. Each of these solutions achieve their intended purposes with different goals in mind and have their own set of trade-offs.

minikube

Minikube can run on Windows and MacOS, because it relies on virtualization (e.g. Virtualbox) to deploy a kubernetes cluster in a Linux VM. You can also run minikube directly on linux with or without virtualization. It's effectively the "official" development setup for kubernetes.

kind

Kind (Kubernetes-in-Docker), as the name implies, runs Kubernetes clusters in Docker containers. This is the official tool used by Kubernetes maintainers for Kubernetes v1.11+ conformance testing. It supports multi-node clusters as well as HA clusters. Because it runs K8s in Docker, kind can run on Windows, Mac, and Linux.

Kind is optimized first and foremost for CI pipelines, so it may not have some of the developer-friendly features of other offerings.

microk8s

Microk8s has great multi-node support, but is a huge pain to use outside of ubuntu.

k3s

K3s runs on any linux distribution without any additional external dependencies or tools. It is a lightweight Kubernetes environment that replaces the etcd database with sqlite and docker with containerd allowing it to run in CI pipelines or on raspberry pis.

kubeadm

The official CNCF tool for provisioning Kubernetes clusters in a variety of shapes and forms (e.g. single-node, multi-node, HA, self-hosted) This is a rather manual way to create and manage a cluster and it requires a relatively powerful computer(s), but it gives you the most complete setup.

manipulate clusters

Once you've setup a cluster (with minikube or similar) you can interact with it's api using kubectl (or gui tools or using the api directly of course).

kubectl

The standard cli tool.

portainer

Web-based gui client for kubernetes or docker.

k9s

Slick tui client for kubernetes.