Jenkins in VM Vs Containers

In a real-world production environment, what is the preferred best practice: installing Jenkins on a virtual machine or running it within Kubernetes pods?

There’s no right or wrong way to do it. It is easier to install and upgrade if you run it in a container rather than directly on the VM. Now that can mean using docker on a dedicated VM, or running it as a pod in a cluster.
Where I work (not KodeKloud - this is part time work), we run all of Jenkins in a kube cluster. Configuring it to use pods for job runners is more economical too.