Skip to content

eficode-academy/kubernetes-katas

This branch is up to date with master.

Folders and files

NameName
Last commit message
Last commit date
Jan 20, 2025
Sep 6, 2023
Jan 20, 2025
Jan 20, 2025
Sep 6, 2023
Aug 13, 2024
Apr 7, 2023
Jan 5, 2023
Jan 6, 2023
Jan 20, 2025
Sep 6, 2023
Sep 6, 2023
Sep 6, 2023
Jan 20, 2025
Jan 6, 2023
May 24, 2023
Aug 10, 2020
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Feb 4, 2022
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025

Repository files navigation

kubernetes-katas

Open in Gitpod

A selection of katas for Kubernetes (k8s).

The exercises are ordered in the way we think it makes sense to introduce Kubernetes concepts.

You can find a summary of many of the commands used in the exercises in the cheatsheet.md.

❗ The katas expect that you have access to a kubernetes cluster. Please have a look at the Setup section if that is not the case. There are plenty of free and easy options.

Katas in suggested order

Setup

There are several ways to get a free Kubernetes cluster for running the exercises.

Amazon, Google, Microsoft and Oracle provide various degrees of free managed clusters.

Alternatively, you can set up a local cluster with Docker Desktop or Kind.

Once you have access to a cluster, the following exercises will help you get setup for running the katas.

  • setup-kubectl-linux - Skip if you've already installed kubectl and have access to a cluster.
  • setup-namespace - Skip if you've already created a personal namespace and set it as your default.

kubectl autocompletion

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.

Cheatsheet

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.