9828389bee | ||
---|---|---|
deployments | ||
docs | ||
services | ||
LICENSE | ||
README.md | ||
authorization-policy.jsonl | ||
token.csv |
README.md
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.
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.
Please note that for AWS the configuration is not production suitable, and you should use a tool such as kops instead.
Cluster Details
- Kubernetes 1.3.6
- Docker 1.11.2
- 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:
- Cluster add-ons
- Logging
- No Cloud Provider Integration
- Unsupported and not production suitable on AWS. Please use for educational purposes only.
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
Labs
This tutorial assumes you have access to one of the following:
- Google Cloud Platform and the Google Cloud SDK (125.0.0+)
- Amazon Web Services, the AWS CLI (1.10.63+), and jq (1.5+)
While GCP or AWS will be used for basic infrastructure needs, the things learned in this tutorial apply to every platform.
- Cloud Infrastructure Provisioning
- Setting up a CA and TLS Cert Generation
- Bootstrapping an H/A etcd cluster
- Bootstrapping an H/A Kubernetes Control Plane
- Bootstrapping Kubernetes Workers
- Configuring the Kubernetes Client - Remote Access
- Managing the Container Network Routes
- Deploying the Cluster DNS Add-on
- Smoke Test
- Cleaning Up