Certified Kubernetes Application Developer (CKAD)

Next ClassJune 10

Summary

  • 💬 Welcome to Alta3 Research Labs

Getting Started

  • 💻 Vim: A Modal Text Editor

  • 💻 Efficient CLI Usage with Tmux

AI LLM Toolkit

  • 💻 Large Language Model toolkit for AI Solution Assistance

From Containers to Kubernetes

  • 💬 Kubernetes Architecture

  • 💻 Define, build and modify container images

  • 💬 Pods and the Control Plane

  • 💬 Kubernetes the Alta3 Way

  • 💻 Deploy Kubernetes using Ansible

Pod Basics

  • 💬 YAML

  • 💬 Manifests for Pods

  • 💻 Create and Configure Basic Pods

  • 💬 API Versioning and Deprecations

Cluster Basics

  • 💬 Namespaces and Fundamental Kubectl Commands

  • 💻 Creating and Configuring Namespaces

  • 💬 Kubectl get and sorting

  • 💻 Listing Resources with kubectl get

Container Health, Security, and Observability

  • 💬 Kubectl port-forward

  • 💻 Kubectl port-forward

  • 💬 Kubectl exec and cp

  • 💻 Performing Commands inside a Pod

  • 💬 Readiness and Liveness Probes

  • 💻 Implement Probes and Health Checks

  • 💬 Pod Security Contexts

  • 💻 Applying Security Contexts

Resource Management

  • 💬 Limits, Requests, and Namespace ResourceQuotas

  • 💻 Defining Resource Requirements, Limits and Quotas

  • 💻 Kubectl Top and Application Monitoring

  • 💬 Admission Controller

  • 💻 Create a LimitRange AdmissionController

RBAC

  • 💬 Role Based Access Control

  • 💻 Service Accounts

  • 💬 Contexts

  • 💻 Cluster Access with Kubernetes Context

Logging

  • 💬 Utilize Container Logs

  • 💻 Kubectl Log Command

  • 💬 FluentD and RsysLog

Ephemeral Storage

  • 💬 ConfigMaps and Volume Mounting

  • 💻 Persistent Configuration with ConfigMaps

  • 💬 Secrets

  • 💻 Create and Consume Secrets

Persistent Storage

  • 💬 Persistent Volumes, Claims, and StorageClasses

  • 💻 Using PersistentVolumeClaims for Storage

  • 💬 Persistent Volumes with CSI

  • 💻 CSI Storage Solution: NFS

Multi-Container Pod Design

  • 💬 Multi-Container Pods

  • 💻 Configuring a Fluentd Logging Sidecar

  • 💬 Init Containers

  • 💻 Using Init Container for Pod Initialization

Deployments

  • 💬 Labels

  • 💻 Labels and Selectors

  • 💬 Annotations

  • 💻 Insert an Annotation

  • 💬 ReplicaSets

  • 💻 Create and Configure a ReplicaSet

  • 💬 DaemonSets

  • 💬 Deployments - Purpose and Advantages

  • 💻 Create and Configure a Deployment

  • 💬 Deployments Rollout

  • 💻 Performing Rolling Updates and Rollbacks

  • 💬 Blue/Green and Canary Deployment Strategies

  • 💻 Advanced Deployment Strategies

  • 💬 Deployments - Horizontal Scaling

  • 🏆 Horizontal Pod Autoscaler

Jobs and CronJobs

  • 💬 Jobs and CronJobs

  • 💻 Running and Executing a Job

  • 💻 Scheduling a CronJob

Affinity and Anti-Affinity

  • 💬 Taints, Tolerations

  • 💻 Tainted Nodes and Tolerations

NetworkPolicy

  • 💬 NetworkPolicy

  • 💻 Network Policy Basics

  • 💻 Namespace Network Policy

Services and Ingress

  • 💬 Networking with Services

  • 💻 Expose Applications via Services

  • 💬 Networking Plugins

  • 💬 Ingress Controllers

  • 💻 Expose Applications via Ingress Controllers

DNS

  • 💬 Hostnames and FQDNs

  • 💻 Utilizing FQDNs

The Helm Package Manager

  • 💬 Helm

  • 💻 Deploy Existing Packages via Helm

Extending Kubernetes

  • 💬 Custom Resource Definitions

  • 💻 Introduction to CRDs

Troubleshooting

  • 💻 Troubleshooting

CKAD

  • 💬 Tips to Pass your CKAD Exam!

Bonus Lab

  • 💻 Deploy a Microserviced Boutique

Appendix

  • 💬 Useful Lab Links

  • 💻 SCM Option #1 - GitHub

Continuing Education

  • 💻 Continuing Education

  • 💬 Curriculum Path: ContainerOrchestration

Private offerings available! Contact us