This work is an exact copy of Kubernetes the Hard Way by @kelseyhightower in an effort to duplicate the steps on Amazon AWS platform as the original work of Kelsey has been on Kubernetes.
There are [will] be changes alonside in AWS implementations which will be kept up to date here and in the stops through the implementations and contributisons. The differences are so similar that on my initial assessment, for the good parts, I should be able to copy and paste the commands porovided by KHW, thanks to similarity of the the two cloud provider.
Within the Steps, we highlight the deviation from gcloud implementation whne applies,
Also, we anticipate no extra step should be requried as the final destination is going to be identical twins of Kubernetes.
Another comment is the fact that first iteration will be using same verson of kubernetes, ubuntu and possibly nginx (which I do not see any need for that). based on that let's start with copy/paste right now to show how confident I am about the identicity of the two providers:
If you see emphasized "###OOPS' then you realize the changes.
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, 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!
The target audience for this tutorial is someone planning to support a production Kubernetes cluster and wants to understand how everything fits together.
Kubernetes The Hard Way on AWS guides you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.
- Kubernetes 1.12.0
- containerd Container Runtime 1.2.0-rc.0
- gVisor 50c283b9f56bb7200938d9e207355f05f79f0d17
- CNI Container Networking 0.6.0
- etcd v3.3.9
- CoreDNS v1.2.2
This tutorial assumes you have access to the Amazon AWS Platform. While AWS is used for basic infrastructure requirements the lessons learned in this tutorial can be and has been applied to other platforms.
- Prerequisites
- Installing the Client Tools
- Provisioning Compute Resources
- Provisioning the CA and Generating TLS Certificates
- Generating Kubernetes Configuration Files for Authentication
- Generating the Data Encryption Config and Key
- Bootstrapping the etcd Cluster
- Bootstrapping the Kubernetes Control Plane
- Bootstrapping the Kubernetes Worker Nodes
- Configuring kubectl for Remote Access
- Provisioning Pod Network Routes
- Deploying the DNS Cluster Add-on
- Smoke Test
- Cleaning Up