This demo shows how to create a liquid metal cluster across 2 Equinix hosts reachable via a VPN on your local machine.
I present from a single terminal window using tmux
to split the pane into 4.
I use one of the panes for slides, one for running "local" commands, and 2 for looking at things on my Equinix hosts.
There is a video of this in action here. If you don't want to do the demo yourself you can just play this and talk over it.
All the commands you need to run will either be present in the slides, or be run as part of the automated runner thingy.
The slides will have prompts for all the things you will want to talk about.
There are a couple of things you will want to do ahead of time.
In addition to this doc, you may want to read the "getting started" tutorial
from the Bootstrapping Cluster API
section.
You will basically just be following the tutorial along from there but, as said above,
everything will be run/provided for you so there is no need to improvise unless you
feel comfortable doing so.
Follow the terraform docs.
Take note of the 2 host ips printed in the output.
These are all required.
Kubernetes things:
Note: there is a handy gist to install the above on Linux (sudo needed).
Demo things:
I install tree
so that I can run watch tree -d 1 /var/lib/flintlock/vm/default
on both and see the state dirs being created as they come up. It looks quite cool.
There are a few commands to run ahead of time.
You should create the management cluster:
kind create cluster
The demo will create and write to ~/.cluster-api/clusterctl.yaml
, so either delete
that or make a backup somewhere.
Check the value of CAPMVM_VERSION
in auto-script.sh
and make sure it is using
one compatible with the flintlock running on your hosts.
You'll want to run through everything first to get the mvm images on the hosts ahead of time. This makes it slightly faster for the demo.
To reset after a pre-game:
On your machine:
kubectl delete clusters.cluster.x-k8s.io mvm-test
kind delete cluster --name <cluster name> # or just uninstall the CAPI controllers, this is just me being lazy
On each of the host machines:
rm -rf /var/lib/flintlock/vm/*
SSH into host0
using the key you set in the terraform vars.
SSH into host1
using the key you set in the terraform vars.
Start the slides:
cd <PATH-TO-REPO>/getting-started/demos/static-equinix
lookatme --live slides.md
To go to the next slide press space or the right arrow key.
You can scroll down the slides with arrows to reveal more text.
Start the command runner script:
cd <PATH-TO-REPO>/getting-started/demos/static-equinix
./auto-script.sh
Pressing enter
will either type out the next command or execute the one typed out.