Overview
Kubernetes is a high-velocity open source orchestration tool to deploy, scale, and update containerized applications. This Kubernetes for App Developers training course will teach you how to containerize, host, deploy, and configure an application in a multi-node cluster.
Starting with a simple Python script, you will 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.
The topics covered are directly aligned with the knowledge domains tested by the Cloud Native Computing Foundation Certified Kubernetes Application Developer (CKAD) Program, and will substantially increase students’ ability to become certified.
In this course you’ll learn how to:
- Containerize and deploy a new Python script
- Configure the deployment with ConfigMaps, Secrets and SecurityContexts
- Understand multi-container pod design
- Configure probes for pod health
- Update and roll back an application
- Implement services and NetworkPolicies
- Use PersistentVolumeClaims for state persistence
- And more
This course is designed to be vendor- and distribution-neutral, so you will be able to apply these concepts universally.
Target Audience
- Developers who want to containerize their applications and run them in production via Kubernetes
- Operators/System Administrators who want to learn about Kubernetes components, API and security features
- Cloud Architects who want to take advantage of cloud native technologies in their enterprise
- This training course is suitable for anyone who wants to learn the skills necessary to build and administer a Kubernetes cluster
Attendee Requirements
- 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).
Course Outline
- Introduction
- Objectives
- Who You Are
- The Linux Foundation
- Linux Foundation Training
- 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
- 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
- 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
- Multi-Container Pods
- Sidecar Container
- Adapter Container
- Ambassador
- Points to Ponder
- 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
- Jobs
- 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
- Labs
- Troubleshooting
- Troubleshotting 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
About the Exam
Cloud Native Computing Foundation Certified Kubernetes Application Developer (CKAD).
The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose cloud native applications for Kubernetes. A Certified Kubernetes Application Developer can define application resources and use core primitives to build, monitor, and troubleshoot scalable applications and tools in Kubernetes.
The exam assumes knowledge of, but does not test for, container runtimes and a microservice architecture.
The online, proctored, performance-based test consists of a set of performance-based items (problems) to be solved in a command line and is expected to take approximately two (2) hours to complete.
This exam curriculum includes these general domains and their weights on the exam:
13% – Core Concepts
18% – Configuration
10% – Multi-Container Pods
18% – Observability
20% – Pod Design
13% – Services & Networking
8% – State Persistence
Further information can be found on this link.