Skip to content


This course guides students through the Kubernetes architecture as well as useful commands, containerization, and Kubernetes best practices.

Select a date below


Dates are listed in Pacific Time Zone

= Guaranteed to run date


Print Friendly, PDF & Email


This class prepares students for the Certified Kubernetes Application Developer (CKAD) exam. Kubernetes is a Cloud Orchestration Platform providing reliability, replication, and stability while maximizing resource utilization for applications and services. By the conclusion of this hands-on training you will go back to work with all necessary commands and practical skills to empower your team to succeed, as well as gain knowledge of important concepts like Kubernetes architecture and container orchestration.

We prioritize covering all objectives and concepts necessary for passing the Certified Kubernetes Application Developer (CKAD) exam. You will command and configure a high availability Kubernetes environment (and later, build your own!) capable of demonstrating all “K8s’’ features discussed and demonstrated in this course. Your week of intensive, hands-on training will conclude with a mock CKAD exam that matches the real thing.

This class prepares students for the CKAD exam.


  • Basic Linux skills are helpful.
  • Familiarity with a text editor like vi, vim, or nano is helpful.


  • Anyone who plans to work with Kubernetes at any level or tier of involvement
  • Any company or individual who wants to advance their knowledge of the cloud environment
  • Application Developers
  • Operations Developers
  • IT Directors/Managers


Module 1: From Containers to Kubernetes

  • Kubernetes Architecture
  • Define, build and modify container images
  • Pods and the Control Plane
  • Deploy Kubernetes using Ansible

Module 2: Cluster Basics

  • Namespaces and Fundamental Kubectl Commands
  • Isolating Resources with Kubernetes Namespaces
  • Contexts
  • Cluster Access with Kubernetes Context
  • Kubectl get and sorting
  • Listing Resources with kubectl get
  • Examining Resources with kubectl describe

Module 3: Pod Basics

  • YAML and how to read it
  • Manifests for Pods
  • Create and Configure Basic Pods
  • API Versioning and Deprecations

Module 4: Container Health, Security, and Observability

  • Kubectl port-forward
  • Debugging via kubectl port-forward
  • Imperative vs. Declarative Resource Creation
  • Kubectl exec and cp
  • Performing Commands inside a Pod
  • Readiness and Liveness Probes
  • Implement Probes and Health Checks
  • Security Contexts for Pods
  • Understanding Security Contexts

Module 5: Resource Management

  • Limits, Requests, and Namespace ResourceQuotas
  • Understanding and Defining Resource Requirements, Limits and Quotas
  • Kubectl Top and Application Monitoring
  • Admission Controller
  • Create a LimitRange AdmissionController

Module 6: RBAC

  • LEC: Role Based Access Control
  • LAB-S1: Role Based Access Control
  • LAB-S2: RBAC Distributing Access

Module 7: Logging

  • Logging with kubectl log
  • Advanced Logging Techniques

Module 8: Ephemeral Storage

  • Creating Ephemeral Storage For Fluentd Logging Sidecar
  • Best Practices for Container Customization
  • ConfigMaps and Volume Mounting
  • Persistent Configuration with ConfigMaps
  • Secrets
  • Create and Consume Secrets

Module 9: Persistent Storage

  • Persistent Volumes, Claims, and StorageClasses
  • Using PersistentVolumeClaims for Storage
  • Stateful Containers for Testing
  • Persistent Storage with NFS

Module 10: Multi-Container Pod Design

  • Multi-Container Pods
  • Understand the Sidecar Multi-Container Pod Design Pattern
  • Init Containers
  • Understand the Init Container Multi-Container Pod Design Pattern

Module 11: Deployments

  • Labels
  • Understanding Labels and Selectors
  • Annotations
  • Insert an Annotation
  • ReplicaSets
  • Create and Configure a ReplicaSet
  • DaemonSets
  • Deployments- Purpose and Advantages
  • Writing a Deployment Manifest
  • Deployments- Version Control
  • Performing Rolling Updates and Rollbacks with Deployments
  • Blue/Green and Canary Deployment Strategies
  • Advanced Deployment Strategies
  • Deployments- Horizontal Scaling
  • Horizontal Scaling with kubectl scale
  • Horizontal Pod Autoscaling
  • Kubectl patch
  • Patching Deployments and Nodes

Module 12: Jobs and CronJobs

  • Jobs and CronJobs
  • Understand Jobs and CronJobs

Module 13: Affinity and Anti-Affinity

  • Taints, Tolerations, and Pod Affinity
  • Tainted Nodes and Tolerations

Module 14: NetworkPolicy

  • NetworkPolicy
  • Deploy a NetworkPolicy

Module 15: Services and Ingress

  • Services- LoadBalancer, NodePort, and ClusterIP
  • Provide and troubleshoot access to applications via services
  • Networking Plugins
  • Ingress Controllers
  • Use Ingress Rules to Expose Applications

Module 16: DNS

  • LEC: Hostnames and FQDNs
  • Hostnames and FQDNs

Module 17: The Helm Package Manager

  • Helm
  • Using the Helm Package Manager to Deploy Existing Packages
  • CHALLENGE LAB: Setting up a single tier service mesh
  • A Completed Project

Module 18: Extending Kubernetes

  • Custom Resource Definitions
  • Custom Resource Definitions (CRDs)

Module 19: Troubleshooting

  • Troubleshooting

Module 20: CKAD

  • Tips to Pass your CKAD Exam!
  • CKAD Practice Drill
  • CKAD Exam Bookmarks

Module 21: Bonus Labs

  • Calicoctl
  • Deploy a Kubernetes Cluster using Kubeadm
  • Create ServiceAccounts for use with the Kubernetes Dashboard
  • Sourcing Secrets from HashiCorp Vault
  • VNC Desktop
  • Saving Your Progress With GitHub
  • Create a Cluster Docker Registry
  • Advanced Kubernetes Challenge – Build an Application

Additional information


5 days

Guaranteed to run