Training > Web & Application > Kubernetes for App Developers (LFD459)

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
- Objectives
- Who You Are
- The Linux Foundation
- Linux Foundation Training
- Certification Programs and Digital Badging
- Platform Details
Kubernetes Architecture
- What Is Kubernetes?
- Components of Kubernetes
- Challenges
- The Borg Heritage
- Kubernetes Architecture
- Terminology
- Control Plane Node
- Worker Nodes
- Pods
- Services
- Operators
- Single IP per Pod
- Networking Setup
- CNI Network Configuration File
- Pod-to-Pod Communication
- Cloud Native Computing Foundation
- Resource Recommendations
- Labs
- 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
- startupProbe
- Testing
- Helm
- Labs
- Traditional Applications: Considerations
- Decoupled Resources
- Transience
- Flexible Framework
- Managing Resource Usage
- Using Label Selectors
- Multi-Container Pods
- Sidecar Container
- Adapter Container
- Ambassador
- initContainer
- Custom Resource Definitions
- 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
Understanding Security
- Security Overview
- Accessing the API
- Authentication
- Authorization
- RBAC Process Overview
- Admission Controller
- Security Contexts
- Pod Security Policies
- Pod Security Standards
- 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
Application 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

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.

Learning Path
Jul 2023
The labs helped solidify the concepts for me. Drawing on the whiteboard also helped a lot.
Jul 2023
The quality of the lecture material by the instructor was top notch, and he was very accommodating.
Jul 2023
I thought the depth and breadth where excellent, enough to give me a strong understanding of some content, while still providing awareness of some more advanced capabilities.
Jul 2023
The instructor was very knowledgeable about the subject matter. When he could not address a question on the spot, he took the time to research and follow up with the answer at a later time, during the training session.
Jul 2023
Generally the flow of the course felt natural and smooth, and the content was tight and to the point.