/kubernetes-the-hard-way-on-kvm

Bootstrap Kubernetes the hard way on KVM. No scripts.

Apache License 2.0Apache-2.0

Kubernetes The Hard Way on KVM

This tutorial walks 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 Kubernetes Engine, or the Getting Started Guides.

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!

Major Changes from Original Kubernetes the Hard Way

  • Instead of GCP, KVM is used.
  • HA Proxy is used as a load balancer for API Server.
  • KVM host is in charge of Pod Network Routes.
  • Cloud Shell in GCP is replaced by a virtual machine.
  • Nodes' name and IP address starts from 1 (Note that the name of etcd nodes starts from etcd-0).
  • The order of chapters are a little bit changed.
  • The version of Ubuntu is xenial.
  • (Todo) Additional information is added for CKA Exam.

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.

Also this tutorial assumes that the audience have some experiences of KVM (i.e. creating and deleting VMs).

Cluster Details

Kubernetes The Hard Way guides you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.

Table of Contents

This tutorial assumes you have an KVM host or a Linux PC running KVM. While KVM host is used for basic infrastructure requirements the lessons learned in this tutorial may be applied to other platforms.

References

Kubernetes

HA Proxy

tmux

SSH