/kubernetes-the-hard-way

Bootstrap Kubernetes the hard way on Google Cloud Platform or Amazon EC2. No scripts.

Apache License 2.0Apache-2.0

Kubernetes The Hard Way

This tutorial will walk 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 Container Engine, or the Getting Started Guides.

This tutorial is optimized for learning, which means taking the long route to help people understand each task required to bootstrap a Kubernetes cluster. This tutorial can be completed on the following platforms:

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 prevent 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. After completing this tutorial I encourage you to automate away the manual steps presented in this guide.

  • This tutorial is for educational purposes only. There is much more configuration required for a production ready cluster.

Cluster Details

  • Kubernetes 1.4.0
  • Docker 1.12.1
  • etcd 3.0.10
  • CNI Based Networking
  • Secure communication between all components (etcd, control plane, workers)
  • Default Service Account and Secrets

What's Missing

The resulting cluster will be missing the following items:

Assumptions

GCP

  • The us-central1 region will be used
gcloud config set compute/region us-central1

AWS

  • The us-west-2 region will be used

Azure

  • The westus region will be used

Platforms

This tutorial assumes you have access to one of the following:

Labs

While GCP, AWS or Azure will be used for basic infrastructure needs, the things learned in this tutorial apply to every platform.