Kubectl is a command-line tool for Kubernetes. It allows us to execute Kubernetes operations via the API. We can use Kubectl to deploy apps, check logs as well as manage all the other resources of the cluster.
A virtual machine is a simulated computer system which runs on a physical computer. In other words, a virtual machine is a computer inside a computer. Virtual machines allocate memory, a virtual CPU, disk storage space, and a network interface. This means that we can have a Windows computer that runs multiple virtual machines composed of Ubuntu Linux, macOS, Windows 10, Solaris, and CentOS, and they will all be completely separate from our parent Windows operating system.
Minikube is the name of a software program written in Go, which can build a local Kubernetes cluster on a single host. It uses a meager amount of resources to run a mini Kubernetes deployment. Minikube is mainly used for testing purposes using different scenarios or versions of Kubernetes