Skip to content
This repository has been archived by the owner on Jul 1, 2023. It is now read-only.
/ workshop Public archive

Docker, Kubernetes and Gravity Trainings by Gravitational

License

Notifications You must be signed in to change notification settings

gravitational/workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a7206d3 · Jun 28, 2023
Nov 23, 2016
Nov 8, 2019
Mar 24, 2020
Mar 3, 2021
Nov 1, 2019
Mar 3, 2021
Mar 12, 2020
Nov 1, 2019
Feb 26, 2021
Nov 8, 2019
Mar 4, 2021
Nov 23, 2016
Jun 28, 2023
Oct 19, 2020
Nov 13, 2020
Mar 30, 2021
Mar 18, 2020
Mar 4, 2021
Mar 14, 2018
Jun 28, 2023
Mar 28, 2017
Oct 23, 2020
Oct 23, 2020
Mar 12, 2020
Mar 12, 2020
Mar 13, 2020
Mar 17, 2020
Nov 1, 2019
Nov 8, 2019
Nov 8, 2019
Nov 1, 2019
Mar 4, 2021

Repository files navigation

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.

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