Course Overview
This course covers the fundamentals of building applications on Kubernetes and fills the gap between administering Kubernetes and planing and architecting a Kubernetes solution.
Students learn how to effectively architect their applications by understanding Kubernetes principles and paradigms. In addition, students explore the Kubernetes infrastructure and deploy a variety of applications in guided labs. The course also covers how to secure applications and build them into robust and adaptive solutions.
Who should attend
This course is intended for:
- Solutions architects
- Software developers
- Technical managers
Course Objectives
In this course, you will learn to:
- Make architectural decisions based on Kubernetes architectural principles and paradigms
- Leverage Kubernetes features to make your applications scalable, reliable, and highly available
- Leverage the Kubernetes infrastructure to enable greater flexibility and resiliency of your overall solution
- Adopt security best practices for their applications and clusters.
- Deploy applications on clusters.
Pre-requisites
- Container Fundamentals for Kubernetes Course
Course Content
Day 1
- Introduction to and History of Kubernetes
- Kubernetes Big Picture
- From Containers to Pods
- Interfacing with Kubernetes with kubectl
- Contexts and Namespaces
- Lab 1: Running Pods Imperatively
- Applications on Kubernetes (Pods, Services, Deployments)
- Elasticity and Scaling
- Lab 2: Deploying and Scaling Pods
Day 2
- Microservices on Kubernetes
- Pod Lifecycle
- Services Deep Dive
- Deployment Strategies
- Lab 3: Deploying a Microservices Application
- High-Availability and Desaster Recovery
- Application Configuration
- Security with Secrets, RBAC and Namespaces
- Lab 4: Securing the Application
Day 3
- Networking Overview
- Understanding Ingress
- Kubernetes Cluster Infrastructure
- Lab 5: Troubleshooting Applications
- Storage Options
- Stateful Sets
- Lab 6: Databases on Kubernetes
- Outlook: Helm, Flux, Istio
- Course Wrap-Up