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