# kelseyhightower/kubernetes-the-hard-way

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kelseyhightower-kubernetes-the-hard-way).**

47,415 stars · 15,494 forks · apache-2.0

## Links

- GitHub: https://github.com/kelseyhightower/kubernetes-the-hard-way
- awesome-repositories: https://awesome-repositories.com/repository/kelseyhightower-kubernetes-the-hard-way.md

## Description

Kubernetes The Hard Way is an educational curriculum designed to teach the fundamental architecture and operational requirements of container orchestration platforms. It provides a structured, hands-on learning path that guides users through the manual bootstrapping of a multi-node cluster from scratch, intentionally avoiding automated installers to ensure a deep understanding of how individual control plane and worker node components interact.

The project distinguishes itself by requiring the manual configuration of every layer of the infrastructure, including the generation of cryptographic identities for mutual authentication and the establishment of encrypted communication channels between distributed components. Participants gain practical experience in managing distributed key-value consensus, configuring network-overlay routing for pod communication, and handling the lifecycle of system services through manual configuration files.

This guide covers the entire provisioning process, from setting up compute resources to implementing security protocols and managing binary-based service deployments. By building the system piece by piece, users develop the operational knowledge necessary to troubleshoot complex failures in production environments. The tutorial requires four virtual or physical machines and provides a comprehensive walkthrough of the steps needed to establish a functional cluster environment.

## Tags

### Software Engineering & Architecture

- [Software Architecture Education](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture-education.md) — Explains how control plane and worker node components interact by building a cluster from scratch.

### Education & Learning Resources

- [Technical Tutorials](https://awesome-repositories.com/f/education-learning-resources/technical-tutorials.md) — Provides a comprehensive guide for bootstrapping a Kubernetes cluster to learn core architectural concepts. ([source](https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/README.md))
- [Distributed Systems Training](https://awesome-repositories.com/f/education-learning-resources/distributed-systems-training.md) — Provides a structured learning path for understanding the architecture and operational requirements of orchestration platforms.
- [Infrastructure Guides](https://awesome-repositories.com/f/education-learning-resources/infrastructure-guides.md) — Serves as a comprehensive instructional guide for the manual configuration and deployment of distributed systems.
- [Practical Labs](https://awesome-repositories.com/f/education-learning-resources/practical-labs.md) — Outlines the hardware and network prerequisites required to perform the hands-on cluster provisioning labs. ([source](https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/README.md))

### Data & Databases

- [Distributed Key-Value Stores](https://awesome-repositories.com/f/data-databases/distributed-key-value-stores.md) — Utilizes a replicated state store to maintain cluster configuration and coordinate state across nodes.

### DevOps & Infrastructure

- [Infrastructure Provisioning](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-provisioning.md) — Teaches the manual configuration of network, compute, and security resources for distributed systems.
- [Deployment Walkthroughs](https://awesome-repositories.com/f/devops-infrastructure/deployment-walkthroughs.md) — Details the step-by-step process of bootstrapping network, security, and compute resources for a multi-node environment.

### Security & Cryptography

- [Public Key Infrastructures](https://awesome-repositories.com/f/security-cryptography/public-key-infrastructures.md) — Uses a custom certificate authority to issue cryptographic identities for secure mutual authentication.
- [Certificate Management](https://awesome-repositories.com/f/security-cryptography/certificate-management.md) — Teaches the manual generation and distribution of cryptographic keys to secure inter-component communication.
- [Transport Security](https://awesome-repositories.com/f/security-cryptography/transport-security.md) — Secures internal API traffic and data transmission by enforcing transport layer security across all network connections.

### Networking & Communication

- [Network Overlays](https://awesome-repositories.com/f/networking-communication/network-overlays.md) — Implements pod-to-pod communication by configuring virtual interfaces to bridge traffic across compute nodes.
