Training > Web & Application > Kubernetes for App Developers (LFD459)
INSTRUCTOR-LED COURSE

Kubernetes for App Developers (LFD459)

This course will teach you how to containerize, host, deploy, and configure an application in a multi-node cluster. It also serves as preparation for the Certified Kubernetes Application Developer (CKAD) exam.

Who Is It For

This course is for experienced application developers who need to containerize, host, deploy, and configure an application in a multi-node cluster.
read less read more
What You’ll Learn

Starting with a simple Python script, this course will show you how to define application resources and use core primitives to build, monitor and troubleshoot scalable applications in Kubernetes. Working with network plugins, security and cloud storage, you will be exposed to many of the features needed to deploy an application in a production environment.
read less read more
What It Prepares You For

The topics covered are directly aligned with the knowledge domains tested by the CKAD program, and will substantially increase students’ ability to become certified.
read less read more
Course Outline
Expand All
Collapse All
Introduction
Objectives
Who You Are
The Linux Foundation
Linux Foundation Training
Certification Programs and Digital Badging
Preparing Your System
Course Registration
Labs
Kubernetes Architecture
What Is Kubernetes?
Components of Kubernetes
Challenges
The Borg Heritage
Kubernetes Architecture
Terminology
Master Node
Minion (Worker) Nodes
Pods
Services
Controllers / Operators
Single IP per Pod
Networking Setup
CNI Network Configuration File
Pod-to-Pod Communication
Cloud Native Computing Foundation
Resource Recommendations
Labs
Build
Container Options
Containerizing an Application
Creating the Dockerfile
Hosting a Local Repository
Creating a Deployment
Running Commands in a Container
Multi-Container Pod
readinessProbe
livenessProbe
Testing
Labs
Design
Traditional Applications: Considerations
Decoupled Resources
Transience
Flexible Framework
Managing Resource Usage
Using Label Selectors
Multi-Container Pods
Sidecar Container
Adapter Container
Ambassador
Points to Ponder
Jobs
Labs
Deployment Configuration
Volumes Overview
Introducing Volumes
Volume Spec
Volume Types
Shared Volume Example
Persistent Volumes and Claims
Persistent Volume
Persistent Volume Claim
Dynamic Provisioning
Secrets
Using Secrets via Environment Variables
Mounting Secrets as Volumes
Portable Data with ConfigMaps
Using ConfigMaps
Deployment Configuration Status
Scaling and Rolling Updates
Deployment Rollbacks
Labs
Security
Security Overview
Accessing the API
Authentication
Authorization
ABAC
RBAC
RBAC Process Overview
Admission Controller
Security Contexts
Pod Security Policies
Network Security Policies
Network Security Policy Example
Default Policy Example
Labs
Exposing Applications
Service Types
Services Diagram
Service Update Pattern
Accessing an Application with a Service
Service without a Selector
ClusterIP
NodePort
LoadBalancer
ExternalName
Ingress Resource
Ingress Controller
Service Mesh
Labs
Troubleshooting
Troubleshooting Overview
Basic Troubleshooting Steps
Ongoing (Constant) Change
Basic Troubleshooting Flow: Pods
Basic Troubleshooting Flow: Node and Security
Basic Troubleshooting Flow: Agents
Monitoring
Logging Tools
Monitoring Applications
System and Agent Logs
Conformance Testing
More Resource
Labs
Closing and Evaluation Survey
Evaluation Survey

Prerequisites
To get the most out of this course, you should have:

Basic Linux command line and file editing skills and be familiar with using a programming language (such as Python, Node.js, Go). Knowledge of Cloud Native application concepts and architectures (such as is taught in our free Introduction to Kubernetes edX MOOC) is helpful for this course.

Please note, Kubernetes Administration (LFS458) is not a pre-requisite for this course. There is overlap in the course materials as each one is designed to stand alone and aligns with the related exams.

Reviews
Jul 2021
The labs were very practical.
Jul 2021
Having extra resources given to us at the end, by the instructor.
Jul 2021
The exercises were very interesting.
Jul 2021
Having a mix between the lectures and practical aspects - I feel like the labs are very important, giving more context and practice.
Jul 2021
The instructor was direct, easy to understand, and the practical laboratories were well thought out and helped cement the information given to us. For a 3-day course, it gave me a whole lot of context on how Kubernetes (and in a smaller way containers) works.
Jul 2021
Having an overview of the most important topics relating to Kubernetes, and experiencing those concepts through the lab exercises.
Jul 2021
It allowed me to have a quick introduction to Kubernetes, a general one, now I can explore further by myself.
Jul 2021
The pace was ideal, instructor experience and the real life examples shown were very helpful.
Jul 2021
I was able to learn more about Kubernetes orchestration.
Jul 2021
The labs were very practical.
Jul 2021
Having extra resources given to us by the instructor at the end.
Jun 2021
The labs are very well explained.
Jun 2021
Everything was well explained, and the labs were helpful towards understanding the course.
Jun 2021
I liked the labs, the application that was setup, and then used on Kubernetes.
Jun 2021
It was hands-on, and each one of us had our own sandbox.
Jun 2021
I liked the fact that we were able to do labs and ask questions, as the labs helped to confirm the theory.
Jun 2021
I enjoyed the hands on use of actual clusters, it helped a lot with the experience and understanding of what goes on.
Jun 2021
The instructor wasn't afraid to mention the pros and cons of Kubernetes.
Jun 2021
The instructor was very good, he kept our interest, and was very knowledgeable. Course material moved from easy to complex in good fashion.
Jun 2021
Overall it was a good course that added value.
Jun 2021
The instructor explains clearly, and takes time to answer students' questions.
Jun 2021
Well structured, and well documented.
Jun 2021
Clear and easily understood Swedish language from the instructor.
Jun 2021
Good mix between instructor led presentation and labs, to try it out yourself. Also well balanced between overview and deep dive.
Jun 2021
The focus on the labs, I wholeheartedly agree with the hands on philosophy when it comes to learning.
Jun 2021
Very detailed and to the point. Nice with the practical examples.
Jun 2021
The hardware environment (Google Cloud SDK), was very convenient to use for the Labs exercises.
Jun 2021
The interaction while practicing labs, and the responsiveness of the trainer.
Jun 2021
French training with an expert instructor.
Jun 2021
The exchanges with the trainer, and the quality of his answers.
Jun 2021
The BeOpenit team was really great! Thanks to them!
Jun 2021
The topics are well separated.
Jun 2021
I enjoyed the course, and learned a great deal about Kubernetes! Thank you Karl Clinger!
Jun 2021
Having access to an instructor with numerous years of experience with Kubernetes, as he answered all of my questions in a few minutes, which otherwise would have taken hours to research on my own.
Jun 2021
For someone who has little experience with Linux, it was very interesting.
Jun 2021
Overall perfect!
Jun 2021
I liked the ratio of the labs to the lesson.
Jun 2021
Many side notes from the instructor.
Jun 2021
The trainer mentioned many side-notes, and gave us very detailed and useful input about real life.
Jun 2021
Fully happy with the course.
Jun 2021
Good instructor!
Jun 2021
I liked the lab exercises, course material, and hands-on experience setup.
Jun 2021
A big bonus to have such an experienced teacher, who shares real-world insights, and expands on subjects of particular interest to the class. A job very well done!
May 2021
Great job Chris! Thank you.
May 2021
I liked the detailed explanations from the instructor.
May 2021
The labs were detailed, and provided a lot of hands-on experience.
May 2021
Drawings on the "whiteboard", and showing external resources, where to find docs, and more information about the technical problems we might face.
May 2021
The labs were great, and worked out of the box.
May 2021
I liked the way some concepts were visualised by drawing.
May 2021
The fact that it was online allowed you to focus more during labs. When the course is in person, generally there is a lot of talking during the labs, and it is hard to finish them.
May 2021
Was helpful in obtaining a high overview level of many basic concepts.
May 2021
Really competent trainer.
May 2021
High proficiency of the coach, alternating between theory and exercises.
May 2021
The labs were great, and worked out of the box.
May 2021
The fact that it was online allowed you to focus more during labs. When the course is in person, generally there is a lot of talking during the labs, and it is hard to finish them.
May 2021
The pace of the training is correct for 3 days.
May 2021
Was helpful in getting a high level overview of many basic concepts.
May 2021
The PDF document and class notes were very helpful.
May 2021
The instructor is a very good speaker, and was able to explain stuff well. I will definitely recommend the course further.
May 2021
The materials were not read, but explained, and there was some personal experiences and advice shared with us, not just what was in the material.
May 2021
It covers K8s from A to Z. The instructor is really knowledgeable and helpful.
May 2021
The instructor was engaging, well prepared, and really motivated us to keep learning more.
May 2021
The cloud environment was ready and available, we didn't spend any time with setup and configurations.
May 2021
My understanding of k8s helm syntax improved. I started using the command kubectl more confidently.
Apr 2021
Great course, and well organized documents!
Apr 2021
Well prepared material.
Apr 2021
The instructor was always prepared for the class, and very helpful throughout the course.
Apr 2021
The instructor explained things in a very simple way, and was very friendly and approachable.
Apr 2021
Tim explained all the concepts very well.
Jan 2021
The instructor is obviously very knowledgeable in Kubernetes. He was able to explain very complex concepts on a whiteboard, and didn't just scan through a bunch of slides.
Jan 2021
Detailed knowledge of the domain, and extensive explanation of the subject in the workshop manual.
Jan 2021
Instructor was great, and the exam preparation material was a good touch.
Jan 2021
I liked the lab exercises. Well documented - the supporting documentation explaining the purpose of the exercises was good. The ability to review these exercises outside of the allocated training time was useful.
Jan 2021
Chris and his ability to describe completes things intelligibly.
Jan 2021
The lab exercises were well timed, I could finish them almost on time +- 2 minutes.
Oct 2020
We could cover a lot, and I liked the personal experience added by the trainer.
Oct 2020
The course is well structured, and the explanations were comprehensive and complete. Labs were interesting too.
Oct 2020
A nice introduction assuming no knowledge. Even with experience it was pleasant to take a step back and paint a big picture that is easier to understand. The context surrounding the creation and ecosystem of K8s was also nice.
Oct 2020
The trainer knew his subject well, and agreed to look into and answer some specific topics.
Oct 2020
The labs after each chapter are really good.
Sep 2020
Tim is very knowledgeable, he had answers to all the questions along with background knowledge.
Sep 2020
The labs were super useful as we could run things ourselves and be more involved.
Sep 2020
I like the overview about the course given to the new comers to Kubernetes.
Sep 2020
I liked the lectures (some good hints and heads-up shared, like RedHat going to drop Docker), and the labs.
Jun 2020
Tim is very good at covering all the content and answering questions. I learned quite a bit in this class and would definitely recommend this course to my team and others.