kota's memex

You'll need to have either a container tool (docker) or virtual machine software installed first. This is called minikube's "driver".

drivers

docker

You can use docker itself as a driver on all minikube's supported operating systems (windows, macos, linux). It works by creating a docker container on your host machine which itself runs various "pods" (docker containers) inside itself. It's basically just using docker as a vm.

kvm

KVM/libvirt can be used as a driver on linux. Minicube will create a virtual machine and set it up as a kubernetes node with all the needed pods on it. You can validate your libvirt setup with virt-host-validate, but basically if you can make a virtual machine normally you should be fine.

Start a cluster using the kvm2 driver:
minikube start --driver=kvm2

To make kvm2 the default driver:
minikube config set driver kvm2

none

There's also a way to run minikube without a vm on "bare metal": https://minikube.sigs.k8s.io/docs/drivers/none/

start or create a minikube cluster

minikube start

stop a cluster

minikube stop

delete a cluster

minikube delete

connecting to portainer

node port

minikube delete
minikube start
curl -L https://downloads.portainer.io/portainer-agent-ce211-k8s-nodeport.yaml -o portainer-agent-k8s.yaml; kubectl apply -f portainer-agent-k8s.yaml
minikube ip

Then take the IP + 30778 and enter that into portainer to connect the cluster:
192.168.39.176:30778

The 30778 comes from actually opening the downloaded yaml file and seeing the IP. Portainer's prompt suggests 9001 which doesn't work.

switching from CE to EE

You'll want to stop your portainer server and then run this to redeploy the agent so that the other portainer instance is able to connect to it as if it's a fresh install. kubectl -n portainer rollout restart deployment portainer-agent

nginx ingress

minikube addons enable ingress

additional clusters

You can create and manage additional named clusters with the -p option.