Gravitational Workshops
Open source series of workshops delivered by Gravitational services team.
- Docker 101 workshop
- Kubernetes 101 workshop using Minikube and Mattermost
- Kubernetes production patterns
Installation
Requirements
You will need Mac OSX with at least 7GB RAM
and 8GB free disk space
available.
- docker
- VirtualBox
- kubectl
- minikube
Docker
For Linux: follow instructions provided here.
If you have Mac OS X (Yosemite or newer), please download Docker for Mac here.
Older docker package for OSes older than Yosemite -- Docker Toolbox located here.
VirtualBox
Let’s install VirtualBox first.
Get latest stable version from https://www.virtualbox.org/wiki/Downloads
Kubectl
For Mac OS X:
curl -O https://storage.googleapis.com/kubernetes-release/release/v1.3.8/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.3.8/bin/linux/amd64/kubectl \
&& chmod +x kubectl && sudo mv kubectl /usr/local/bin/
Minikube
For Mac OS X:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.12.2/minikube-darwin-amd64 \
&& chmod +x minikube && sudo mv minikube /usr/local/bin/
For Linux:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.12.2/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/DRIVERS.md.
Xcode and local tools
Xcode will install essential console utilities for us. You can install it from AppStore.
Set up cluster using minikube
To run cluster:
minikube start
kubectl get nodes
minikube ssh
docker run -p 5000:5000 --name registry -d registry:2
Notice for Mac OS X users: you need to allow your docker daemon to work with your local insecure registry. It could be achieved via adding VM address to Docker for Mac.
- Get minikube VM IP via calling
minikube ip
- Add obtained IP with port 5000 (specified above in
docker run
command) to Docker insecure registries: