Simplifying Kubernetes Deployments using Kustomize

Lab Steps

Logging in to the Amazon Web Services Console
Connecting to the CloudAcademy Web based IDE
Deploy Base
Deploy Staging
Deploy Production

Ready for the real environment experience?

Time Limit1h 30m


Kustomize is a tool for customizing Kubernetes configurations, simplifying the rollout and deployment of applications into clusters. It has the following features to manage application configuration files:

  • generating resources from other sources
  • setting cross-cutting fields for resources
  • composing and customizing collections of resources

In this Lab scenario, you'll learn how to use Kustomize Bases and Overlays to deploy 3 different versions (Baseline, Staging, and Production) of the same sample web application into a provided Kubernetes cluster. 


Lab Objectives

Upon completion of this Lab, you will be able to:

  • Use Kustomize to deploy a basic web application which has been packaged already into a docker image (hosted on DockerHub). 
  • Understand how to use configure and work with Kustomize Bases and Overlays
  • Use Kustomize to generate 3 different enviroment specific deployments:
    • Baseline - the baseline deployment version of the webapp
    • Staging - uses a Kustomize overlay to change the baseline deployment settings
    • Production - uses a Kustomize overlay to change the baseline deployment settings
  • Test and validate the Base, Staging, and Production deployed cluster resources using the curl command and your workstations browser

You should:

  • Be comfortable with basic Linux command line administration
  • Be comfortable with basic Kubernetes and Container based concepts

Lab Environment

This Lab will start with the following AWS resources provisioned automatically for you:

  • 2 x EC2 instances - each assigned a public IP address:
    • ide.cloudacademy.platform.instance - provides a web-based IDE with integrated terminal
    • k8s.cloudacademy.platform.instance - provides a fully functional and running Kubernetes cluster

To achieve the Lab end state, you will be walked through the process of:

  • Using your local workstation browser to remotely connect to the ide.cloudacademy.platform.instance
  • Using the web-based IDE and integrated terminal, you'll complete the remainder of the stated Lab Objectives (above)

About the Author
Learning paths25

Jeremy is the DevOps Content Lead at Cloud Academy where he specializes in developing technical training documentation for DevOps.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 20+ years. In recent times, Jeremy has been focused on DevOps, Cloud, Security, and Machine Learning.

Jeremy holds professional certifications for both the AWS and GCP cloud platforms.