Course Outline

Introduction

  • Objectives
  • Who You Are
  • The Linux Foundation
  • Linux Foundation Training
  • Certification Programs and Digital Badging
  • 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 / Operators
  • 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
  • Creating the Dockerfile
  • 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
  • Using Label Selectors
  • Multi-Container Pods
  • Sidecar Container
  • Adapter Container
  • Ambassador
  • Points to Ponder
  • Jobs
  • 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
  • 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
  • Service Mesh
  • Labs

Troubleshooting

  • Troubleshooting 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

CKAD exam review

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). Knowledge of Cloud Native application concepts and architectures (such as is taught in our free Introduction to Kubernetes edX MOOC) is helpful for this course.

Please note, Kubernetes Administration (LFS458) is not a pre-requisite for this course. There is overlap in the course materials as each one is designed to stand alone and aligns with the related exams.

Audience

This course is for experienced application developers who need to containerize, host, deploy, and configure an application in a multi-node cluster.

Experience Level: Intermediate

 21 Hours

Provisonal Upcoming Courses (Contact Us For More Information)