Kubernetes Foundations (EDU-KF)

This two-day course is the first step in learning about Containers and Kubernetes. Through a series of lectures and lab exercises, the fundamental concepts of Kubernetes will be presented and put to practice by containerizing and deploying a two-tier application into Kubernetes.


Intended Audience

Anyone involved with using or building a Kubernetes cluster


Objectives

By the end of the course, you should be able to meet the following objectives:

  • Build, test, and publish Docker container images
  • Become familiar with authoring YAML files and its syntax
  • Understand Kubernetes core user-facing concepts, including Pods, Services, and Deployments
  • Use kubectl the Kubernetes CLI, and become familiar with its commands and options
  • Understand the architecture of Kubernetes (Control plane and its components, worker nodes, and kubelet)
  • Learn to debug issues with application deployments on Kubernetes
  • Apply resource requests, limits, and probes to deployments
  • Manage dynamic application configuration using ConfigMaps and Secrets
  • Deploy other workloads, including StatefulSets, DaemonSets, Jobs, CronJobs
  • Learn about user-facing security best practices using ServiceAccounts, RBAC, and NetworkPolicies

  

Prerequisites

  • Linux concepts and command line proficiency
  • General networking proficiency


Geef details weer


Course Outline

1 Introduction to Containers

  • What and Why Containers
  • Building images
  • Running containers
  • Debugging containers
  • Registry and image management


2 Kubernetes Fundamentals

  • Why Kubernetes?
  • YAML
  • Pods
  • Services
  • Deployments


3 Kubernetes Architecture & Troubleshooting

  • Cluster architecture
  • Cluster components
  • Namespaces
  • Debugging 101


4 Deployment Management

  • Application deployment strategies
  • Controlling active deployments


5 Pod and Container Configurations

  • Resource requests, limits, and quotas
  • Probes


6 Kubernetes Networking

  • Pod networking
  • Services deep dive
  • Ingress controllers


7 Kubectl and Resource Organization

  • kubeconfig
  • Namespaces deep dive
  • Labels
  • Node/Pod affinity
  • Taints/Tolerations


8 Stateful Applications

  • Persistent storage
  • StatefulSets


9 Dynamic Application Configuration

  • Docker dynamic configuration
  • ConfigMaps
  • Secrets


10 Additional Workloads

  • Jobs
  • CronJobs
  • DaemonSets


11 Security

  • Service accounts
  • Role-Based access control
  • Network policies
  • SecurityContext