hands-on lab

Create and Manage a Kubernetes Cluster from Scratch

Up to 1h
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.


You will create a Kubernetes cluster that adheres to best practices from scratch using the kubeadm cluster bootstrapping utility. 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 kubeadm and its dependencies
  • Initialize a control-plane  node
  • Join a node to a cluster
  • Configure a network plugin 

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 for this Lab: 


March 4th, 2024 - Resolved legacy package repositories issue

October 12th, 2023 - Updated Kubernetes version

May 23rd, 2023 - Updated Kubernetes version

February 10th, 2023 - Resolved Container Network Interface (CNI) issue

January 20th, 2023 - Resolved Container Runtime Interface (CRI) issue

November 4th, 2022 - Updated lab to use version 1.24.3

October 6th, 2022 - Updated instructions and screenshots due to updated packages

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

Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Learning paths

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.

LinkedIn, Twitter, GitHub

Covered topics

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