hands-on lab

Kubernetes Observability - Logging, Monitoring, and Debugging

Intermediate
2h
2,130
4.6/5
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.
Lab description

An important consideration for any platform used to deploy production applications is observability. This Lab essentially answers how Kubernetes handles and helps you with observing everything that happens in the platform. Logging and monitoring are two pillars of observability and you will learn how to master each in this Lab. You will use what is built into Kubernetes and kubectl as well as how to extend the platform to use external logging and monitoring systems. More specifically, you will use the sidecar multi-container Pod pattern to stream Pod logs to S3 using Fluentd. You will also install Metrics Server as an example of a monitoring system. All of these combined give you powerful debugging skills to diagnose and resolve issues with applications running in Kubernetes.

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

Warning: This lab has been outdated and split into a set of smaller labs covering the topics in an easier-to-consume format

Learning Objectives

  • Understand liveness probes and readiness probes
  • Understand container logging including how to use logging agents and the sidecar pattern
  • Understand how to monitor applications in Kubernetes
  • Understand debugging in Kubernetes

Intended Audience

  • Kubernetes admins and operators
  • Application developers and DevOps engineers deploying applications in containers and using or considering Kubernetes
  • This Lab is recommended for Certified Kubernetes Application Developer (CKAD) examinees

Prerequisites

  • Knowledge of Kubernetes Pod Design (Pods, Deployments, Services, Jobs)
  • Experience with kubectl

You can complete the Kubernetes Pod Design for Application Developers Lab to satisfy the prerequisites.

Updates

June 13th, 2023 - Updated Kubernetes version

September 6th, 2022 - Updated to run Kubernetes 1.24

May 2nd, 2021 - Updated to run Kubernetes 1.20, 80% faster startup time, and use a web terminal

April 16th, 2021 - Moved validation checks to the most relevant lab step for more immediate validation feedback

December 15th, 2020 - Updated to Kubernetes 1.19, added EC2 instance connect support, added discussion of startup probes

October 29th, 2020 - Added instruction to wait for the cluster to fully provision

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

Environment before
Environment after
About the author
Avatar
Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Students
216,004
Labs
223
Courses
9
Learning paths
56

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
Connecting to the Kubernetes Cluster
Using Probes to Better Understand Pod Health
Understanding Container Logging in Kubernetes
Kubernetes Logging Using a Logging Agent and the Sidecar Pattern
Monitoring Kubernetes Applications