There are several tools we can use to launch a Kubernetes cluster on AWS; we are going to be covering one called kube-aws. Unfortunately, kube-aws does not support Windows-based machines so the following instructions will only apply to macOS High Sierra and Ubuntu 17.04.
kube-aws is a command-line tool that is used to generate an AWS CloudFormation template, which is then used to launch and manage a CoreOS cluster. Kubernetes is then deployed to the cluster of CoreOS instances.
AWS CloudFormation is Amazon's native scripting tool and allows you to programmatically launch AWS services; it covers pretty much all of the AWS API. CoreOS is an operating system that is focused on one thing, running containers. It has an extremely small footprint and is designed to be clustered and configured on cloud providers out-of-the-box.