Scaling Applications To Run On Kubernetes

You have to complete/review all lessons in this course to receive your badge!

This lab is for those who are new to building applications to run on Kubernetes or want a refresher. It covers:

  • How to build container images
  • How to run your application directly and locally on Kubernetes
  • Tools you can use to improve your workflow
  • How to manage manifests for deployment.
  • Kubestr, an open source collection of tools to discover, validate and evaluate your Kubernetes storage options.

Is there pre-work for the lab?

Yes. Be sure to complete reading and studying this blog, the video description of the work to be performed during the lab, and the accompanying slides.

What is the structure of the lab?

The lab consists of two sections, both of which are approximately 40 minutes long.  Your time may vary, depending on how quickly you pass either section.

Section 1 — Applications Background

This section will cover background topics and terminology for the relevance and use of applications in the Kubernetes world. Each topic will provide some review material on screen first, then pose a challenge question. You must answer the question correctly to proceed to the next section. You’ll learn:

  • The what how and why of container images
  • How containers relate to applications
  • Stateless applications
    • Short term apps that do not retain data regarding a transaction – (e.g. print services, microservices)
  • Stateful applications
    • Applications that typically use a database (e.g. MySQL) and process a read/write and thus retain information regarding each transaction involved
  • Options for running applications locally/remotely/other
  • Tools to help you build an application
  • What’s involved in managing manifests

Section 2 — Hands-on Commands – Build an application

This section will cover Kubernetes keyboard commands needed to set up and scale an application in Kubernetes. Specific commands covered include:

  • Discovering K8s storage
    • Kubectl get storage class
  • Choosing a data  service- MySql (stateful data services and volume focus)
    • Applying  use case (PetClinic) for MySql
  • Installing the app
  • Exploring the app
  • Using it as a service to expose the app
  • Running multiple instances of the app
  • Scaling your app
  • Performing a rolling update
  • Adding data
  • Exploring persistent volume/ volume claim

In the more advanced section of the hands-on portion, you’ll learn how to install Kubestr,  an open source collection of tools to discover, validate and evaluate your Kubernetes storage options. Kubestr can:

  • Identify various storage options present in a cluster
  • Validate if storage options are configured correctly
  • Evaluate storage using common benchmarking tools such as FIO

Here’s a summary of the steps we’ll take as we install Kubester during the lab:

1) Install Kubestr

  • Ensure that the Kubernetes context is set and the cluster is accessible through your terminal. (Does kubectl work?)
  • Download the latest release here.
  • Unpack the tool and make it an executable chmod +x kubestr.

2) Discover available storage options:

  • Run ./kubestr

3) Run an FIO test:

  • Run ./kubestr fio -s <storage class>
  • Additional options like —size and —fiofile can be specified.
  • For more information visit our fio page.

4) Check a CSI drivers snapshot and restore capabilities:

  • Run ./kubestr csicheck -s <storage class> -v <volume snapshot class>

5) Install another storage class and use Kubestr to compare the two (GCP storage classes).

6) Link to the Application Transformation lab later to produce a sequence/template.

Ready to start?

Take the skill level self-assessment quiz


Welcome to the KubeCampus Learning Community! has now relaunched and re-branded as​

For technical support with please email [email protected].

Connect with other users and Kasten support on Kasten’s Learning Slack Channel.

Kasten K10 free now

Kasten K10