Simplifying Kubernetes Deployments using Kustomize

Lab Steps

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

The hands-on lab is part of these learning paths

Ready for the real environment experience?

DifficultyIntermediate
Time Limit1h 30m
Students336
Ratings
4.8/5
starstarstarstarstar-half

Description

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
Students125359
Labs66
Courses113
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).