NOTE: Windows support in Kubernetes continues to improve and evolve. This tutorial may still be useful and the resulting cluster may even still work, but it has not been kept up to date. For the most up-to-date steps for bringing up a cluster with Windows nodes on Google Compute Engine see this code in the main Kubernetes repository. For an automated, less-hard way to bring up the cluster check out the README.
This tutorial walks you through setting up a heterogeneous Kubernetes cluster that includes both Windows and Linux worker nodes. 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 trying to run a Windows Kubernetes cluster for the first time.
Kubernetes The Hard Way guides you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.
- Kubernetes 1.10.2
- containerd Container Runtime 1.1.0
- gVisor 08879266fef3a67fac1a77f1ea133c3ac75759dd
- CNI Container Networking 0.6.0
- etcd 3.3.5
This tutorial assumes you have access to the Google Cloud Platform. While GCP is used for basic infrastructure requirements the lessons learned in this tutorial can be applied to other platforms.
- Glossary
- 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 Linux Worker Nodes
- Bootstrapping the Windows Worker Nodes
- Configuring kubectl for Remote Access
- Provisioning Pod Network Routes
- Deploying the DNS Cluster Add-on
- Smoke Test
- Cleaning Up