Deploy a Stateful Application in a Kubernetes Cluster

Lab Steps

lock
Logging in to the Amazon Web Services Console
lock
Understanding the Kubernetes Cluster Architecture
lock
Connecting to the Bastion Host using EC2 Instance Connect
lock
Inspecting the Kubernetes Cluster
lock
Deploying a Stateful Application in the Kubernetes Cluster
lock
Working with the Stateful Application
lock
Monitoring Your Kubernetes Cluster Using Kubernetes Dashboard

The hands-on lab is part of these learning paths

Building, Deploying, and Running Containers in Production
course-steps
5
certification
3
lab-steps
14
description
1
Introduction to Kubernetes
course-steps
1
certification
1
lab-steps
3
description
1
more_horizSee 1 more

Ready for the real environment experience?

DifficultyAdvanced
Time Limit2h 45m
Students2417
Ratings
4.5/5
starstarstarstarstar-half

Description

Lab Overview

Stateful applications are applications with memory of the past. Kubernetes has achieved wide adoption for deploying stateless applications. Kubernetes also provides a rich set of features for running stateful applications. Adoption of Kubernetes for stateful applications is growing and so is the list of stateful workloads that are supported by Kubernetes. In this Lab you will deploy a stateful application in a Kubernetes cluster to understand how Kubernetes supports stateful applications.

Lab Objectives

Upon completion of this Lab you will be able to:

  • Describe methods for deploying Kubernetes clusters in the cloud
  • Explain how Kubernetes can deploy stateful applications
  • Determine if it is a good idea to move a stateful application into Kubernetes
  • Use Kubernetes to automatically provision persistent cloud storage volumes
  • Expose Kubernetes applications via cloud load balancers
  • Monitor and manage Kubernetes clusters using the Kubernetes Dashboard

Lab Prerequisites

You should be familiar with:

  • Basic Kubernetes concepts such as pods, services, and deployments
  • AWS EBS volumes
  • Working on the command line in Linux

Lab Environment

Before completing the Lab instructions, the environment will look as follows:

After completing the Lab instructions, the environment should look similar to:

 

Updates

December 16th, 2020 - Updated to Kubernetes 1.19, added EC2 instance connect support, added customized validation check

December 8th, 2020 - Updated instructions to address an issue preventing mysql commands from running

August 28th, 2020 - Updated the SSH instructions to reflect the new EC2 user interface

January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab

About the Author
Students92643
Labs144
Courses11
Learning paths22

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.