Docker application deployed with Kubernetes vs deploying application directly in the VM: pros and cons

Assume I have a web application (Apache httpd server) deployed in AWS using EC2 instances (VM). Application deployment is performed using EC2 userdata.

Alternatively I could dockerize my web application. Deploy a Kubernetes cluster on EC2 instances using EKS, or custom setup. We could also use AWS Fargate for serverless feature.

What are the pros and cons to use second approach with Kubernetes here?

Source: Docker Questions