Advanced Kubernetes

Introduction

This hack will guide you through advanced Kubernetes topics for both Operators and Developers. These challenges are taken from what we are seeing in the field.

Unlike other WhatTheHack’s, each of the challenges here are independent (e.g. You can do GitOps challenges without having done the Scaling challenges). This is by design as different teams can prioritize specific features of Kubernetes.

Learning Objectives

In this hack, you will be working on a set of “Day 2” operational best practices for Kubernetes cluster management. You will learn:

  1. Create and use Helm charts
  2. Build resiliency into your pods
  3. Scale your cluster
  4. Using Git as the Source of Truth for your cluster
  5. Learn about the features of a Service Mesh

Assumptions

Before starting this hack you should have hands-on experience with the following:

Challenges

  1. Setup
  2. Helm
    1. Create a new Helm chart
    2. Install Helm chart on AKS cluster
    3. Install Kubernetes Ingress using Helm
    4. Update Helm release to use Ingress
    5. Delete Kubernetes Ingress Helm Release
  3. Resiliency
    1. Define Readiness Probe
    2. Define Liveness Probe
  4. Scaling
    1. Set up cluster autoscaling
    2. Set up pod autoscaling
    3. Define resource requests and limits
  5. GitOps
    1. Install flux
    2. Setup Flux Pipeline
    3. Simulate CI to verify changes pushed to AKS cluster
    4. Update Github to deploy Ingress Controller via Flux
  6. Service Mesh
    1. Install a Service Mesh
    2. Apply a virtual service
    3. Apply weight-based routing
    4. Apply distributed tracing with Jaeger
  7. Data Volumes
    1. Static provisioning with Azure Disks
    2. Dynamic provisioning with Azure Disks
    3. Scaling persistent applications with Azure Disks
    4. Scaling persistent applications with Azure Files

Prerequisites

Contributors

Quotes

The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment. --Warren Bennis