Kubernetes is a container orchestration system, originally developed by Google. It is by far the most popular tool in its category which includes Docker Swarm, Apache Mesos and Hashicorps Nomad.
Kubernetes (or k8s in short) is a powerful tool and as such is also very complex to use and operate. There are two parts to using k8s:
This is not a guide for either of these tasks and there are plenty of good sources of information on how to perform either of those. However, one thing to remember is that operating and maintaining a safe, secure and reliable Kubernetes cluster requires expensive staff which might not be available to you. There are companies that take care of the first part, by providing managed Kubernetes clusters, including most of the major cloud providers.
Regardless of self-managed or vendor-managed clusters, you still need to modify and deploy your applications to run on Kubernetes to benefit from it. Kubernetes is a complex system with a steep learning curve and unless you are sure of what you need from it and how it can help you, you might spend too much money and time on it, just to get your application to work.
In short, if you want to run a future proof, scalable and highly flexible containerized PaaS for yourself, Kubernetes is the best option out there, but it's not a like-for-like alternative for Heroku.