Kubernetes Observability - Logging, Monitoring, and Debugging
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.
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
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.