This tutorial is a modified version of the two repositories
This tutorial walks you through setting up Kubernetes the Hard Way on a local machine using Multipass. 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.
This tutorial is for educational purposes only! Don't run this in production :)
This tutorial is for those wanting to try kubernetes-the-hard-way but using their local machine instead of GCP or any other cloud provider. It is also intended to teach you the inner workings of a kubernetes cluster and all of its components.
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.23.4
- Docker Container Runtime 20.10.13
- etcd 3.5.2
- Calico 3.22
- CoreDNS coredns/coredns:1.9.0
- Prerequisites
- Provisioning Compute Resources
- Installing the Client Tools
- 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
- TLS Bootstrapping the Kubernetes Worker Nodes
- Configuring kubectl for Remote Access
- Deploy Calico - Pod Networking Solution
- Kube API Server to Kubelet Configuration
- Deploying the DNS Cluster Add-on
- Smoke Test
- Uses Multipass to orchestrate the local virtual machines
- Cluster Architecture
- 2 Control Plane Nodes
- 2 Worker Nodes
- 1 Loadbalancer
- Configure worker-1 manually and worker-2 using TLS Bootstrapping
- Statically assigned IPs on private network
- Uses openssl to generate certificates
- Uses Calico for pod networking
- Uses latest versions for the different components (at the time of making)
- Some of the startup arguments for the kubelet have become depreciated and have been moved to kubelet-config.yaml