JTC02 Kubernetes Labs

Kubernetes is a container orchestrator to provision, manage, and scale applications. In other words, Kubernetes allows you to manage the lifecycle of containerized applications within a cluster of nodes (which are a collection of worker machines, for example, VMs, physical machines etc.).

The key paradigm of kubernetes is it’s Declarative model. The user provides the “desired state” and Kubernetes will do it’s best make it happen. If you need 5 instances, you do not start 5 separate instances on your own but rather tell Kubernetes that you need 5 instances and Kubernetes will reconcile the state automatically. Simply at this point you need to know that you declare the state you want and Kubernetes makes that happen. If something goes wrong with one of your instances and it crashes, Kubernetes still knows the desired state and creates a new instances on an available node.

In this Lab you will learn the basic concepts for working with Kubernetes.

If you want to learn more about Kubernetes, please take course JTC80.

Lab sources

All the source code for the lab is available here:

https://github.com/niklaushirt/training

Lab overview

  • Lab 1: Provides an refresher/overview over Kubernetes.

  • Lab 2: This lab walks you through running your first Pod on Kubernetes.

  • Lab 3: In this Lab you will deploy a Web Application on Kubernetes, first the Frontend and then the Backend components.

  • Lab 4: Builds on lab 3 and shows you how to scale an application on Kubernetes.

  • Lab 5: Teaches you the basics of persisting data in Kubernetes with Volumes