Effective Kubernetes – Practical Skills for Developing-Deploying-Debugging

Course Description

This 20-hour, hands-on online training course is designed to go beyond just getting you started with Kubernetes. You will come away with a solid foundational understanding of Kubernetes concepts and architecture along with practical developer and DevOps skills to create, deploy, and manage applications using Kubernetes.

This course puts a strong emphasis on “Cloud Native” principles and microservices architectures as well as context for migrating and deploying traditional monolithic applications using Kubernetes.

Course Structure and Lab Environment

The content is broken down into modules. Each module presents its concepts with integrated live demos in a real environment. The students are then prompted to reproduce these demos in their own environment, specially prepared for the training. This environment is set up to be usable immediately (no time wasted installing local virtual machines or setting up everyone’s computer!), and it has all the features of a typical deployment, allowing to freely go “off-script”, tinker, and experiment.

Day 1

  • Containers and Container Orchestration
  • Declarative vs Imperative Systems
  • Deep Dive into Kubernetes concepts
  • Mastering YAML in 10 minutes or less
  • Getting Started with kubectl
  • Deploying our first Pods
  • Working with Logs
  • Various ways to install Kubernetes
  • Kubernetes options for local development

Day 2

  • Labels, Selectors, and Annotations
  • Modifying Objects: Create, Apply, Patch, Replace
  • Accessing Pods through Exposed Services
  • Service types: ClusterIP, NodePort, LoadBalancer
  • Deploying Scalable Microservices
  • Rolling updates
  • Rolling back a bad deployment
  • Running our demo app on Kubernetes
  • Scaling up our demo app

Day 3

  • Using healthchecks to improve availability
  • Organizing resources with Namespaces
  • Working with remote Kubernetes clusters
  • DaemonSets, Jobs, and CronJobs
  • The Kubernetes network model
  • Firewalling your Services with Network Policies
  • Securely accessing internal services
  • Load Balancing
  • HTTP/HTTPS Ingress

Day 4

  • Sharing data across Pod containers using volumes
  • Multi-Container Pod Design Patterns
  • Managing application configuration
  • Managing application secrets
  • Using the Downward API
  • Understanding Kubernetes Persistent Storage
  • Stateful Sets and Persistent Storage

Day 5

  • Authorization with RBAC (Role-Based Access Control)
  • Working with Roles, Cluster Roles, Role Bindings, etc.
  • Setting compute resource limits
  • Defining default policies for resource usage
  • Managing cluster allocation and quotas
  • The resource metrics pipeline
  • What happens when the cluster is at, or over, capacity
  • Cluster sizing and scaling
  • Auto-scaling resources
  • Additional Topics of Student Interest (as time permits)

Important: Upon completion of each session, there will be a video recording available for download.