Certified Kubernetes Application Developer - Agilitics


Certified Kubernetes Application Developer (CKAD)


Kubernetes is a high-velocity open source orchestration tool to deploy, scale, and update containerized applications. This course will teach you how to containerize, host, deploy, and configure an application in a multi-node cluster. 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.

Duration: 3 days
Time: 9am to 5pm

What will be taught for CKAD?

This 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.

1. Introduction

  1. Objectives
  2. Who You Are
  3. The Linux Foundation
  4. Linux Foundation Training
  5. Certification Programs and Digital Badging
  6. Preparing Your System
  7. Course Registration
  8. Labs

2. Kubernetes Architecture

  1. What Is Kubernetes?
  2. Components of Kubernetes
  3. Challenges
  4. The Borg Heritage
  5. Kubernetes Architecture
  6. Terminology
  7. Master Node
  8. Minion (Worker) Nodes
  9. Pods
  10. Services
  11. Controllers / Operators
  12. Single IP per Pod
  13. Networking Setup
  14. CNI Network Configuration File
  15. Pod-to-Pod Communication
  16. Cloud Native Computing Foundation
  17. Resource Recommendations
  18. Labs

3. Build

  1. Container Options
  2. Containerizing an Application
  3. Creating the Dockerfile
  4. Hosting a Local Repository
  5. Creating a Deployment
  6. Running Commands in a Container
  7. Multi-Container Pod
  8. readinessProbe
  9. livenessProbe
  10. Testing
  11. Labs

4. Design

  1. Traditional Applications: Considerations
  2. Decoupled Resources
  3. Transience
  4. Flexible Framework
  5. Managing Resource Usage
  6. Using Label Selectors
  7. Multi-Container Pods
  8. Sidecar Container
  9. Adapter Container
  10. Ambassador
  11. Points to Ponder
  12. Jobs
  13. Labs

5. Deployment Configuration

  1. Volumes Overview
  2. Introducing Volumes
  3. Volume Spec
  4. Volume Types
  5. Shared Volume Example
  6. Persistent Volumes and Claims
  7. Persistent Volume
  8. Persistent Volume Claim
  9. Dynamic Provisioning
  10. Secrets
  11. Using Secrets via Environment Variables
  12. Mounting Secrets as Volumes
  13. Portable Data with ConfigMaps
  14. Using ConfigMaps
  15. Deployment Configuration Status
  16. Scaling and Rolling Updates
  17. Deployment Rollbacks
  18. Labs

6. Security

  1. Security Overview
  2. Accessing the API
  3. Authentication
  4. Authorization
  5. ABAC
  6. RBAC
  7. RBAC Process Overview
  8. Admission Controller
  9. Security Contexts
  10. Pod Security Policies
  11. Network Security Policies
  12. Network Security Policy Example
  13. Default Policy Example
  14. Labs

7. Exposing Applications

  1. Service Types
  2. Services Diagram
  3. Service Update Pattern
  4. Accessing an Application with a Service
  5. Service without a Selector
  6. ClusterIP
  7. NodePort
  8. LoadBalancer
  9. ExternalName
  10. Ingress Resource
  11. Ingress Controller
  12. Service Mesh
  13. Labs

8. Troubleshooting

  1. Troubleshooting Overview
  2. Basic Troubleshooting Steps
  3. Ongoing (Constant) Change
  4. Basic Troubleshooting Flow: Pods
  5. Basic Troubleshooting Flow: Node and Security
  6. Basic Troubleshooting Flow: Agents
  7. Monitoring
  8. Logging Tools
  9. Monitoring Applications
  10. System and Agent Logs
  11. Conformance Testing
  12. More Resource
  13. Labs

9. Closing and Evaluation Survey

  1. 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). A knowledge of Cloud Native application concepts and architectures is helpful for this course.

× How can I help you?