A selection of exercises for Kubernetes (K8s).
The exercises are ordered in the way we think it makes sense to introduce Kubernetes concepts.
There are tree variants of the ingress exercise - one of them is Google Kubernetes Engine (gke) specific, whereas the two others are generic and should work on any Kubernetes cluster.
You can find a summary of many of the commands used in the exercises in the cheatsheet.md.
- 00-setup-kubectl-linux -
Skip if you've already installed
kubectl
and have access to a cluster. - 00-setup-namespace - Skip if you've already created a personal namespace and set it as your default.
On Linux, using bash, run the following commands:
$ echo "source <(kubectl completion bash)" >> ~/.bashrc
$ . ~/.bashrc
The commands above will enable kubectl autocompletion when you start a new bash session and source (reload) bashrc i.e. enable kubectl autocompletion in your current session.
See: Kubernetes.io - Enabling shell autocompletion for more info.
A collection of useful commands to use throughout the exercises:
$ kubectl api-resources # List resource types
$ kubectl explain <resource> # Show information about a resource
$ kubectl explain deployment
# List resources in cluster
$ kubectl get <resource> # In current namespace
$ kubectl get <resource> -n <namespace> # In specific namespace
$ kubectl get <resource> --all-namespaces # In all namespaces
$ kubectl get <resource> -o wide # Add extended information
$ kubectl get <resource> -o yaml # output in YAML format
$ kubectl get <resource> -o json # output in JSON format
# Example
$ kubectl get pods [-n abc|--all-namespaces] [-o wide|yaml|json]
See: kubectl - Cheat Sheet
for a more extended overview of the kubectl
command.