Simplifying Kubernetes Deployments using Kustomize
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)
Updates
October 27th, 2024 - Resolved an issue preventing the lab from provisioning successfully
June 14th, 2024 - Resolved deployment issue
November 21st, 2023 - Resolved webapp URL issue