0: Introduction

Introduction to the course.

Course Overview

1: History and Motivation

Evolution of application deployment over the past 20 years.

History and Motivation

2: Technology Overview

Kubernetes architecture and system components.

Technology Overview

3: Installation and Set Up

Configure your local and remote lab environments.

Dependencies

Local KinD Cluster

Remote Civo Cluster

Remote GKE Cluster

5: Helm

Using helm to manage Kubernetes resources

What is Helm?

Consuming Helm Charts

Authoring Helm Charts

6: Demo Application

Example microservice application.

Demo Application Overview

Running the Demo Application

Building the App Images

7: Deploying the Demo Application

Kubernetes manifests to deploy the demo application.

Authoring Kubernetes Manifests

GKE Monitoring Tooling

8: Extending the Kubernetes API

Explore how custom resources can add functionality

Custom Resources (Extending K8s)

9: Deploying Auxiliary Tooling

Install additional software to enhance the deployment.

CloudNativePG

Trivy Operator

Additional Tools Worth Exploring

10: Developer Experience

Improving the DevX when working with Kubernetes.

Developer Iteration (Tilt)

Secrets Management (ESO)

11: Debugging Applications

How to find and fix problems.

Debugging Applications in Kubernetes

12: Deploying to Multiple Environments

Packaging your application for mulitple deployments.

Multi-Environment Overview

Kustomize

Helm

Kluctl (Single Service)

Kluctl (Full Build)

13: Cluster and Node Upgrades

How to safely upgrade your clusters and nodes.

Cluster/Node Upgrade Procedure

14: Continuous Integration & Continuous Delivery

Implement CI/CD for your applications (with GitOps!)

Continuous Integration (GitHub Actions)

GitOps (using Kluctl)

15: Conclusion

Final thoughts and additional topics to explore.

Course Wrap Up