kubectl
kubectl, allows you to run commands against Kubernetes clusters. We can use kubectl to deploy, inspect cluster, manage resources and view logs.
minikube
minikube takes the approach of spawning a VM that is essentially a single node K8s cluster
kind
kind moves the cluster into Docker containers. This leads to a significantly faster startup speed compared to spawning VM.
Difference between kind or minikube vs kubectl is that kubectl can only manage the object in cluster but not create entire cluster.