A guide based on kelseyhightower's tutorial for Kubernetes on GCP and Azure specifics steps by lostintangent
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 Azure Container Service, 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 requires access to Microsoft Azure.
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!
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.
- Kubernetes 1.7.0
- Docker 17.05.0-CE
- etcd 3.2.1
- CNI Based Networking
- Secure communication between all components (etcd, control plane, workers)
- Default Service Account and Secrets
- RBAC authorization enabled
- DNS add-on
The resulting cluster will be missing the following features:
- Cloud Provider Integration
- Logging
- Cluster add-ons
This tutorial assumes you have access to Microsoft Azure and the Azure CLI. While Azure is used for basic infrastructure needs the things learned in this tutorial can be applied to every platform.
- Cloud Infrastructure Provisioning
- Setting up a CA and TLS Cert Generation
- Setting up RBAC Authentication
- Bootstrapping a H/A etcd cluster
- Bootstrapping a 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