AWS version of Kelsey's kubernetes-the-hard-way
Branch: master
Clone or download


This is a fork of awesome Kubernetes The Hard Way by Kelsey Hightower and is geared towards using it on AWS. Also thanks to @slawekzachcial for his work that made this easier. I have made some changes along the way:

  1. Provided an alternative to busybox for testing DNS resolution. This fixes issue#356
  2. Upgraded kubernetes to v1.11.2
  3. Upgraded cri-tools to v1.11.1
  4. Upgraded containerd to v1.2.0-beta.2
  5. Upgraded CNI plugins to v0.7.1
  6. Upgraded etcd to 3.3.9
  7. Added section on critools

Kubernetes The Hard Way

This tutorial walks you through setting up Kubernetes the hard way. This guide is not for people looking for a fully automated command to bring up a Kubernetes cluster. If that's you then check out Google Kubernetes Engine, AWS Elastic Container Service for Kubernetes or the Getting Started Guides.

Kubernetes The Hard Way is optimized for learning, which means taking the long route to ensure you understand each task required to bootstrap a Kubernetes cluster.

The results of this tutorial should not be viewed as production ready, and may receive limited support from the community, but don't let that stop you from learning!

Target Audience

The target audience for this tutorial is someone planning to support a production Kubernetes cluster and wants to understand how everything fits together.

Cluster Details

Kubernetes The Hard Way guides you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.


This tutorial assumes you have access to the Amazon Web Service. If you are looking for GCP version of this guide then look at :