/k8svagrantcluster

"Bare Metal" Kubernetes cluster with Vagrant, Flannel, and MetalLB.

Primary LanguageRubyGNU General Public License v3.0GPL-3.0

Kubernetes Vagrant Cluster

This project builds a multi-master Kubernetes cluster on a Vagrant network.

There are four nodes, two masters and two slaves. The masters share the virtual ip address 10.10.3.5 using keepalived. The keepalived service issues health checks to each master node on the local interface for port 6443 to test if Kubernetes is up and running.

Kubernetes is used to host two services. A simple Ruby web application and Redis. The application is available at LINK:80, using Flannel and Metallb.

Dependencies

  • Docker
  • Vagrant
  • Virtualbox
  • 8GB of RAM

Steps

  1. Prep the host machine
  2. Boot and provision the Vagrant cluster
  3. Initialize the Kubernetes cluster
  4. Add additional nodes
  5. Deploy application
  6. Take down primary master