Some packages (like Postgree) require to tune kernel parameters for better performance.
For this reason I definitely can't use containers (like Docker/CoreOS).
But what about KVM? Should I rent bare metal or it is possible to tune kernel parameters inside KVM box?
Consider KVM hosting offers much cheaper than bare metal servers...
You can tune kernel parameters inside KVM. You can't tune KVM host kernel parameters.
It is possible to tune kernel parameters inside containers. Not all, but many.
If you have a specific workload that requires kernel tuning, it may be best to run it on baremetal with properly selected hardware components for the load type.
More generally, when you boot your own kernel, nearly any kernel parameter can be tuned. Any VM with virtual hardware. It doesn't really matter which hypervisor, KVM, Hyper-V, VMware, Xen.
Consider (large) VMs as an alternative to "bare metal". Several clouds offer very large instance sizes.