A3CKAD: Certified Kubernetes Application Developer – CKAD
About this Course
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.
Review this course online at https://www.alta3.com/courses/kubernetes
Audience Profile
• 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
At Course Completion
• Deploy applications to a Kubernetes cluster
• Use Kubernetes primitives to implement common deployment strategies (e.g. blue/green or canary)
• Define, build and modify container images
• Implement probes and health checks
• Understand multi-container Pod design patterns (e.g. sidecar, init and others)
• Understand ConfigMaps
• Create & consume Secrets
• Troubleshooting and debugging tools
• Provide and troubleshoot access to applications via services
• Use Ingress rules to expose applications
Outline
AI LLM Toolkit
• 💻 Lecture + Lab: Large Language Model toolkit for AI Solution Assistance
From Containers to Kubernetes
• 💬 Lecture: Kubernetes Architecture
• 💬 Lecture: Pods and the Control Plane
• 💻 Lecture + Lab: Define, build and modify container images
• 💬 Lecture: Kubernetes the Alta3 Way
• 💻 Lecture + Lab: Deploy Kubernetes using Ansible
Pod Basics
• 💬 Lecture: YAML
• 💬 Lecture: Manifests for Pods
• 💻 Lecture + Lab: Create and Configure Basic Pods
• 💬 Lecture: API Versioning and Deprecations
Cluster Basics
• 💬 Lecture: Namespaces and Fundamental Kubectl Commands
• 💻 Lecture + Lab: Creating and Configuring Namespaces
• 💬 Lecture: Kubectl get and sorting
• 💻 Lecture + Lab: Listing Resources with kubectl get
Container Health, Security, and Observability
• 💬 Lecture: Kubectl port-forward
• 💻 Lecture + Lab: Kubectl port-forward
• 💬 Lecture: Kubectl exec and cp
• 💻 Lecture + Lab: Performing Commands inside a Pod
• 💬 Lecture: Readiness and Liveness Probes
• 💻 Lecture + Lab: Implement Probes and Health Checks
• 💬 Lecture: Pod Security Contexts
• 💻 Lecture + Lab: Applying Security Contexts
Resource Management
• 💬 Lecture: Limits, Requests, and Namespace ResourceQuotas
• 💻 Lecture + Lab: Defining Resource Requirements, Limits and Quotas
• 💻 Lecture + Lab: Kubectl Top and Application Monitoring
• 💬 Lecture: Admission Controller
• 💻 Lecture + Lab: Create a LimitRange AdmissionController
RBAC
• 💬 Lecture: Role Based Access Control
• 💻 Lecture + Lab: Service Accounts
• 💬 Lecture: Contexts
• 💻 Lecture + Lab: Cluster Access with Kubernetes Context
Logging
• 💬 Lecture: Utilize Container Logs
• 💻 Lecture + Lab: Kubectl Log Command
• 💬 Lecture: FluentD and RsysLog
Ephemeral Storage
• 💬 Lecture: ConfigMaps and Volume Mounting
• 💻 Lecture + Lab: Persistent Configuration with ConfigMaps
• 💬 Lecture: Secrets
• 💻 Lecture + Lab: Create and Consume Secrets
Persistent Storage
• 💬 Lecture: Persistent Volumes, Claims, and StorageClasses
• 💻 Lecture + Lab: Using PersistentVolumeClaims for Storage
• 💬 Lecture: Persistent Volumes with CSI
• 💻 Lecture + Lab: CSI Storage Solution: NFS
Multi-Container Pod Design
• 💬 Lecture: Multi-Container Pods
• 💻 Lecture + Lab: Configuring a Fluentd Logging Sidecar
• 💬 Lecture: Init Containers
• 💻 Lecture + Lab: Using Init Container for Pod Initialization
Deployments
• 💬 Lecture: Labels
• 💻 Lecture + Lab: Labels and Selectors
• 💬 Lecture: Annotations
• 💻 Lecture + Lab: Insert an Annotation
• 💬 Lecture: ReplicaSets
• 💻 Lecture + Lab: Create and Configure a ReplicaSet
• 💬 Lecture: DaemonSets
• 💬 Lecture: Deployments - Purpose and Advantages
• 💻 Lecture + Lab: Create and Configure a Deployment
• 💬 Lecture: Deployments Rollout
• 💻 Lecture + Lab: Performing Rolling Updates and Rollbacks
• 💬 Lecture: Blue/Green and Canary Deployment Strategies
• 💻 Lecture + Lab: Advanced Deployment Strategies
• 💬 Lecture: Deployments - Horizontal Scaling
• 🏆 Challenge: Horizontal Pod Autoscaler
Jobs and CronJobs
• 💬 Lecture: Jobs and CronJobs
• 💻 Lecture + Lab: Running and Executing a Job
• 💻 Lecture + Lab: Scheduling a CronJob
Affinity and Anti-Affinity
• 💬 Lecture: Taints, Tolerations
• 💻 Lecture + Lab: Tainted Nodes and Tolerations
NetworkPolicy
• 💬 Lecture: NetworkPolicy
• 💻 Lecture + Lab: Network Policy Basics
• 💻 Lecture + Lab: Namespace Network Policy
Services and Ingress
• 💬 Lecture: Networking with Services
• 💻 Lecture + Lab: Expose Applications via Services
• 💬 Lecture: Networking Plugins
• 💬 Lecture: Ingress Controllers
• 💻 Lecture + Lab: Expose Applications via Ingress Controllers
DNS
• 💬 Lecture: Hostnames and FQDNs
• 💻 Lecture + Lab: Utilizing FQDNs
The Helm Package Manager
• 💬 Lecture: Helm
• 💻 Lecture + Lab: Deploy Existing Packages via Helm
Extending Kubernetes
• 💬 Lecture: Custom Resource Definitions
• 💻 Lecture + Lab: Introduction to CRDs
Troubleshooting
• 💻 Lecture + Lab: Troubleshooting
CKAD
• 💬 Lecture: Tips to Pass your CKAD Exam!