This is actually pretty well described in the docsdocs.
Before you create worker nodes, you must create an IAM role with the following IAM policies:
AmazonEKSWorkerNodePolicy
AmazonEKS_CNI_Policy
AmazonEC2ContainerRegistryReadOnly
Also you need to make sure that this role could be assumed by EKS.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Edit:
On the time of answering this question, AWS was not providing a Managed Node Group, there the policies are encapsulated for you in a role coming with the Node Group by default.
https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html