workshop

module
v0.0.0-...-cd7adf9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2021 License: Apache-2.0

README

Gravitational Workshops

Open source series of workshops delivered by Gravitational services 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

Directories

Path Synopsis
crd
controller/pkg/apis/nginxcontroller/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
controller/pkg/generated/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
controller/pkg/generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
controller/pkg/generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
controller/pkg/generated/clientset/versioned/typed/nginxcontroller/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
controller/pkg/generated/clientset/versioned/typed/nginxcontroller/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
prod

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL