Course Outline
Module 1: Microservices Design
• A good Microservice Boundary
• Using Domain Driven Design (DDD)
• Alternatives to Business Domain Boundaries (Volatility, Data, Technology, Organizational)
• Splitting the Monolith
• Premature decomposition
• Decomposition By Layer
• Using Decomposition Patterns (Strangler, Parallel Run, Feature Toggle)
• Data Decomposition Concerns (Performance, Integrity, Transactions)
Module 2: Optimizing Docker and the Runtime
• Choosing the right base image
• Minimizing the number of layers
• Using multi-stage builds
• Image optimization (sort multi-line arguments, etc.)
• Leveraging the build cache
• Pinning image versions
• Fine-tuning resource allocation
• Secure container practices
• Runtime configuration for performance
Module 3: Kubernetes & Release Strategies
Kubernetes Deployments Overview
• Creating and executing an Initial Deployment
• Kubernetes Deployment Options
Performing Rolling Update Deployments
• Understanding Rolling Update
• Creating and executing a Rolling Update
• Rolling Back Deployment
Performing Canary Deployments
• Understanding Canary Deployments
• Creating and executing a Canary Deployment
Performing Blue-Green Deployments
• Understanding Blue-Green Deployments
• Creating and executing a Blue-Green Deployment
Running Jobs and CronJobs
• Creating a Job and CronJob
Performing Monitoring and Troubleshooting Tasks
• Troubleshooting Techniques with kubectl
Module 4: Automation & Operational Efficiency
Using Python to Automate Common Task in Kubernetes
• Using Python to perform administrative operations in Kubernetes
• Using Python to define Configuration objects
• Using Python to create Deployment objects
• Watching Kubernetes Events using Python
• Scaling a Deployment using Python
Understanding the Challenges of Automating Deployments
• Declarative Configuration with Kubernetes
• Managing the Integrity of Configuration
Using the GitOps Approach for Automating Deployments
• GitOps Principles
• Introducing Flux
• Installing Flux to a Kubernetes Cluster
Configuring Flux for Automated Deployments
• Using Notifications
• The Source Repository Structure
Handling Application Updates with Image Automation
• Updating an Application Deployment with Flux
• Scanning Container Image Repositories for Tags
• Defining Policy for Latest Image selection
• Configuring Flux to Perform Automatic Image Updates
Module 5: Observability & Root Cause Clarity
Kubernetes Logging and Tracing Capabilities
• Why Are Logging and Tracing Important
• Accessing the Kubernetes Logs
• Pod and Container Logs
• Control Plane Logs
• Resource Usage of Nodes and Pods
Collecting and Analyzing the Logs
• Log Aggregation
• Log Visualization
Distributed Tracing in Kubernetes
• What is distributed tracing
• Using OpenTelemetry
• Distributed Tracing Tools
• Instrumenting an Application
• Using Tracing to Find Performance Issues
Monitoring with Prometheus and Grafana
• Observability concepts
• Monitoring Tools
• Using Prometheus Instrumentation
Advanced Uses Cases for Logging
• Processing Logs
• Filtering and Enriching the Logs
• Event Sourcing
Module 6: Cluster Crisis Simulation & Incident Response
• Understanding the different types of failures in a cluster environment
• Simulating a Node Failures
• Pod Eviction & Resource Exhaustion Scenario
• Network Issues
• DNS failures to for application timeout handling
• Simulating an API Server Outage
• Simulating high traffic for system stability
• Storage Failure
• Configuration Errors
• Understanding Incident reporting procedures
Module 7: AI To support Troubleshooting
• Benefits of Generative AI for Kubernetes
• K8sGPT CLI architecture
• Install the K8sGPT CLI
• K8sGPT Commands and Usage
• Using K8sGPT Analyzers (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analyzing the Cluster using K8sGPT
• Analyzing Real-Time Issues using K8sGPT
• In-Cluster Operator for K8sGPT
Requirements
- Basic knowledge of Linux command line
- Experience with application development or system administration
- Familiarity with containers (Docker concepts)
- Basic understanding of Kubernetes concepts (pods, deployments, services)
- General understanding of software architecture (e.g. APIs, services)
Target audience:
- DevOps Engineers
- Site Reliability Engineers (SREs)
- Backend / Software Developers working with microservices
- Cloud Engineers and Platform Engineers
-
System Administrators transitioning to Kubernetes environments
Delivery Options
Private Group Training
Our identity is rooted in delivering exactly what our clients need.
- Pre-course call with your trainer
- Customisation of the learning experience to achieve your goals -
- Bespoke outlines
- Practical hands-on exercises containing data / scenarios recognisable to the learners
- Training scheduled on a date of your choice
- Delivered online, onsite/classroom or hybrid by experts sharing real world experience
Private Group Prices RRP from €11400 online delivery, based on a group of 2 delegates, €3600 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.
Contact us for an exact quote and to hear our latest promotions
Public Training
Please see our public courses
Testimonials (1)
There were many practical exercises supervised and assisted by the trainer