Create and Manage a Kubernetes Cluster from Scratch

Lab Steps

Logging in to the Amazon Web Services Console
Connecting to an EC2 Instance Using Amazon EC2 Instance Connect
Installing kubeadm and Its Dependencies
Initializing the Kubernetes Master Node
Joining a Worker Node to the Kubernetes Cluster
Backing Up and Restoring Kubernetes Clusters
Upgrading Kubernetes Clusters with kubeadm
Validate AWS Lab

Ready for the real environment experience?

Time Limit2h


You will create a Kubernetes cluster that adheres to best practices from scratch using the kubeadm cluster bootstrapping utility. You will also perform several cluster management tasks including performing a backup the cluster, restoring the cluster from a backup, and upgrading Kubernetes in this Lab. You will also learn how to perform tests to verify that everything works as you expect. Even if you intend to use fully-managed Kubernetes clusters, this Lab provides you with a deeper understanding of Kubernetes clusters, and helps you decide on the cluster configuration that is best for your requirements.

This Lab is valuable to anyone working with Kubernetes, and has been prepared with the topics described in the Certified Kubernetes Administrator (CKA) Exam Curriculum. Completion of the Lab will help you get hands-on experience, which is essential for passing the CKA exam.

Lab Objectives

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

  • Install Kubernetes master and worker nodes including TLS bootstrapping
  • Implement backups and restore methodologies
  • Perform Kubernetes cluster upgrades
  • Test Kubernetes clusters
  • Evaluate different Kubernetes cluster configurations

Lab Prerequisites

You should be familiar with:

  • Working with Kubernetes to deploy applications
  • Working at the command line in Linux

The following Labs can be used to fulfill the prerequisites to this Lab: 


October 22nd, 2021 - Migrated lab to use EC2 Instance Connect

September 24th, 2021 - Highlighted master and worker node-specific instructions for clarity

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

June 30th, 2020 - Resolved an issue causing the Kubernetes package upgrade commands to fail

April 28, 2019 - Updated Lab to use version 1.13 and upgrade to 1.14

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

Environment before
Environment after
About the Author
Learning paths46

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.