I am studying kubernetes. If I want to build a cluster consisting of 3 worker nodes and 1 master node in AWS then -
Thanks in Advance.
Given that ec2 instances are already VMs running in larger machines, and given the additional complexity of setting up your own vms inside an ec2 instance, I would highly recommend going for the second approach.
This also has the added benefit that auto-scaling your cluster (i.e. automatically scaling the number of workers) comes out of the box if you use the aws-cluster-autoscaler.