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

The hands-on lab is part of these learning paths

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 paths180

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

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

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).