Workshop
Docker, Kubernetes and Gravity Trainings by Gravitational
Install / Use
/learn @gravitational/WorkshopREADME
Gravitational Workshops
Warning
The Gravitational Workshops were archived 2023-07-01, as Gravitational no longer offers Kubernetes or Gravity training.
Please see our Gravitational is Teleport blog post for more information.
Open source series of workshops delivered by the Gravitational team.
- Docker 101 workshop
- Kubernetes 101 workshop using Minikube and Mattermost
- Kubernetes production patterns
- Kubernetes security patterns
- Kubernetes custom resources
- Gravity 101
- Gravity fire drill exercises
- Gravity logging (Gravity 5.5 and earlier)
- Gravity logging (Gravity 6.0 and later)
- Gravity monitoring & alerts (Gravity 5.5 and earlier)
- Gravity monitoring & alerts (Gravity 6.0 and later)
- Gravity networking and network troubleshooting
- Gravity upgrade (5.5)
- Gravity upgrade (7.0)
Installation
Requirements
You will need a Linux or macOS box with at least 7GB of RAM and 20GB of free disk space available.
Docker
For Linux: follow instructions provided here.
If you have macOS (Yosemite or newer), please download Docker for Mac here.
Older docker package for OSes older than Yosemite -- Docker Toolbox located here.
Hypervisor
HyperKit [macOS only]
HyperKit is a lightweight macOS hypervisor which minikube supports out of the box and which should be already installed on your machine if you have Docker for Desktop installed.
More information: https://minikube.sigs.k8s.io/docs/reference/drivers/hyperkit/.
Alternatively, install VirtualBox like described below.
KVM2 [Linux only]
Follow the instructions here: https://minikube.sigs.k8s.io/docs/reference/drivers/kvm2/.
Alternatively, install VirtualBox like described below.
VirtualBox [both macOS and Linux]
Let’s install VirtualBox.
Get latest stable version from https://www.virtualbox.org/wiki/Downloads.
Note: When using Ubuntu you may need to disable Secure Boot. For an alternative approach to installing with Secure Boot enabled, follow the guide here.
Kubectl
For macOS:
curl -O https://storage.googleapis.com/kubernetes-release/release/v1.16.2/bin/darwin/amd64/kubectl \
&& chmod +x kubectl && sudo mv kubectl /usr/local/bin/
For Linux:
curl -O https://storage.googleapis.com/kubernetes-release/release/v1.16.2/bin/linux/amd64/kubectl \
&& chmod +x kubectl && sudo mv kubectl /usr/local/bin/
Minikube
For macOS:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.5.1/minikube-darwin-amd64 \
&& chmod +x minikube && sudo mv minikube /usr/local/bin/
For Linux:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.5.1/minikube-linux-amd64 \
&& chmod +x minikube && sudo mv minikube /usr/local/bin/
Also, you can install drivers for various VM providers to optimize your minikube VM performance. Instructions can be found here: https://github.com/kubernetes/minikube/blob/master/docs/drivers.md.
Xcode and local tools
Xcode will install essential console utilities for us. You can install it from the App Store.
Set up cluster using minikube
To run cluster:
macOS
# starts minikube
$ minikube start --kubernetes-version=v1.16.2
# this command should work
$ kubectl get nodes
# use docker from minikube
$ eval $(minikube docker-env)
# this command to check connectivity
$ docker ps
Linux
# starts minikube
$ minikube start --kubernetes-version=v1.16.2 --vm-driver=kvm2
# this command should work
$ kubectl get nodes
# use docker from minikube
$ eval $(minikube docker-env)
# this command to check connectivity
$ docker ps
Clone the Workshop repository
$ git clone https://github.com/gravitational/workshop.git
$ cd workshop
Configure registry
$ kubectl create -f registry.yaml
Related Skills
node-connect
354.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
prose
354.0kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
