Build a Kubernetes Cluster from Scratch with kubeadm

Skip the managed service and set up a cluster by hand, then compare the effort.

+200

POINTS

What you will build

A working multi-node cluster that you understand all the way down.

Starting point: you only need a Vultr account. This challenge is self-contained, so you can do it without having done any other.

The plan

  1. Deploy three Ubuntu instances in the same region on a private network
  2. Install a container runtime and the Kubernetes packages on each
  3. Initialise the control plane with kubeadm
  4. Join both workers with the printed command
  5. Install a network plugin and confirm nodes are Ready
  6. Deploy an app with two replicas and expose it
  7. Take an etcd snapshot and store it off the cluster
  8. Drain a worker and confirm the app keeps running
BASH
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
kubectl get nodes -o wide

How you will be judged

  • Cluster ports are limited with firewall rules, not left open
  • A restorable etcd backup exists
  • An honest comparison with Vultr Kubernetes Engine

Destroy everything you created when you are done so you are not billed for it.

Requirements

Three-node cluster built with kubeadm

Network plugin installed and nodes Ready

App running with 2 replicas

etcd snapshot stored off the cluster

Resources

Submit Your Build

Challenge Questions

No questions about this Challenge yet
Ask anything about this Challenge prep, agenda or joining.