/traefik-workshop

Getting started with Traefik on Kubernetes. A few exercises that help you to start the journey with Traefik Proxy.

Getting started with Traefik on Kubernetes

Traefik Workshop #1

Prerequisities

You need to have Kubernetes cluster that you can connect to, Helm3 installed and a domain that points to the external IP address of the cluster.

A quick deployment of Kubernetes cluster

K3D is a lightweight wrapper to run multi-node cluster. It will spin up K3S under in docker. Currently, it comes with Traefik v1, that's why we need to set arguments to disable Traefik while provision cluster for the workshop purposes.

One can use the following command to setup a cluster:

k3d cluster create workshop \
--k3s-server-arg "--disable=traefik"  \
-p "80:80@loadbalancer" \
-p "443:443@loadbalancer" \
--agents 2

It will create the cluster with two worker nodes and expose the port 80 and 443. It is enough to go through the exercises below.

Installing Helm

Helm is the package manager for Kubernetes. Here is the link to the official Helm docs to guide how to install Helm3+ in your local environment.

Installing Traefik through package manger will run a preconfigured Traefik instance. It is one of the recommended approaches. You can start exploring Traefik and focus on its features. There is still option to deploy it manually on your Kubernets cluster.

The agenda of the hands on workshops

  1. Installing Traefik Proxy
  2. Traefik Dashboard
  3. Deploying test application on Kubernetes
  4. Creating Kubernetes Ingress HTTP
  5. Adding extra configuration to values.yaml
  6. Deploying Traefik with the new configuration
  7. Creating Kubernetes Ingress HTTPS
  8. Creating Redirectscheme middleware
  9. Assigning Middleware to the Kubernetes Ingress HTTP
  10. Scaling up / down the application
  11. Creating Kubernets CRD (HTTP)
  12. Creating Kubernetes CRD (HTTPS)
  13. Creating Basic Auth Middleware with Kubernetes Secrets
  14. Kubernetes CRD for Dashboard
  15. Enabling metrics endpoint
    1. Installing Prometheus Stack