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.