Get in Touch

Course Outline

Module 1: Microservices Design

• Establishing effective microservice boundaries
• Applying Domain Driven Design (DDD)
• Alternatives to Business Domain Boundaries (Volatility, Data, Technology, Organizational)
• Strategies for splitting the monolith
• Avoiding premature decomposition
• Decomposition by layer
• Utilizing decomposition patterns (Strangler, Parallel Run, Feature Toggle)
• Addressing data decomposition concerns (Performance, Integrity, Transactions)

Module 2: Optimizing Docker and the Runtime

• Selecting the appropriate base image
• Minimising the number of layers
• Employing multi-stage builds
• Image optimization techniques (e.g., sorting multi-line arguments)
• Leveraging the build cache effectively
• Pinning specific image versions
• Fine-tuning resource allocation
• Adhering to secure container practices
• Optimizing runtime configuration for performance

Module 3: Kubernetes & Release Strategies

Overview of Kubernetes Deployments
• Creating and executing an initial deployment
• Understanding Kubernetes deployment options

Executing Rolling Update Deployments
• Comprehending rolling updates
• Creating and executing a rolling update
• Performing deployment rollbacks

Executing Canary Deployments
• Comprehending canary deployments
• Creating and executing a canary deployment

Executing Blue-Green Deployments
• Comprehending blue-green deployments
• Creating and executing a blue-green deployment

Managing Jobs and CronJobs
• Creating a Job and CronJob

Conducting Monitoring and Troubleshooting Tasks
• Troubleshooting techniques using kubectl

Module 4: Automation & Operational Efficiency

Automating Common Kubernetes Tasks with Python
• Using Python for administrative operations in Kubernetes
• Defining configuration objects with Python
• Creating deployment objects via Python
• Observing Kubernetes events using Python
• Scaling deployments programmatically with Python

Understanding Challenges in Automating Deployments
• Declarative configuration within Kubernetes
• Maintaining configuration integrity

Adopting the GitOps Approach for Deployment Automation
• Core GitOps principles
• Introduction to Flux
• Installing Flux into a Kubernetes cluster

Configuring Flux for Automated Deployments
• Utilizing notifications
• Structuring the source repository

Managing Application Updates via Image Automation
• Updating application deployments with Flux
• Scanning container image repositories for tags
• Defining policies for latest image selection
• Configuring Flux to perform automatic image updates

Module 5: Observability & Root Cause Clarity

Kubernetes Logging and Tracing Capabilities
• The importance of logging and tracing
• Accessing Kubernetes logs
• Examining pod and container logs
• Reviewing control plane logs
• Analyzing resource usage for nodes and pods

Collecting and Analyzing Logs
• Log aggregation strategies
• Log visualization techniques

Distributed Tracing in Kubernetes
• Understanding distributed tracing
• Implementing OpenTelemetry
• Utilizing distributed tracing tools
• Instrumenting applications for tracing
• Identifying performance issues through tracing

Monitoring with Prometheus and Grafana
• Core observability concepts
• Overview of monitoring tools
• Applying Prometheus instrumentation

Advanced Use Cases for Logging
• Log processing methods
• Filtering and enriching logs
• Event sourcing principles

Module 6: Cluster Crisis Simulation & Incident Response

• Recognizing various types of failures in cluster environments
• Simulating node failures
• Addressing pod eviction and resource exhaustion scenarios
• Resolving network issues
• Handling DNS failures and application timeouts
• Simulating API server outages
• Testing system stability under high traffic loads
• Managing storage failures
• Identifying configuration errors
• Understanding incident reporting procedures

Module 7: AI To Support Troubleshooting

• Benefits of generative AI for Kubernetes
• Architecture of the K8sGPT CLI
• Installing the K8sGPT CLI
• K8sGPT commands and usage guidelines
• Utilizing K8sGPT analyzers (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analyzing the cluster using K8sGPT
• Investigating real-time issues with K8sGPT
• Deploying the in-cluster operator for K8sGPT

Requirements

  • Fundamental knowledge of the Linux command line
  • Experience in application development or system administration
  • Familiarity with container concepts (Docker)
  • Basic understanding of Kubernetes concepts (pods, deployments, services)
  • General grasp 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

 49 Hours

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 6500 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (2)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories