Join the next Advanced Kubernetes course in Amsterdam

What you need to know:

Have questions? Click here to speak to an instructor.

Success! We sent you a confirmation email and an instructor will be with you as soon as possible.

This is a full-time, 4 days course on learning and mastering Kubernetes.

Things you need to know about the course:

  • This is a real event held in Amsterdam.
  • Engaging learning, which is 40% lecture and 60% hands-on lab-based. You will get practical knowledge, not just bland theory.
  • We teach small groups so that you can ask questions and dig into the concepts — everyone has the chance to take part and deep dive into the concepts.
  • You will have access to all the material even after completing the training. That's the full Learnk8s Academy (10 courses)
  • It's beginner-friendly, but you will learn some pretty advanced topics too.

On this course, there'll be:

  • No death by PowerPoint. Yes, there are slides, but the content is immersive, relevant and hands-on, applied to real-life scenarios.
  • No boredom central. You won't be passively listening to the instructors; you'll need to answer questions and get actively involved in the sessions.
  • No pushy sales guys. We are vendor-neutral, with no interest in "selling" or suggesting a particular vendor. We're unbiased and will only recommend tools that we know will work for you.

A typical schedule for a 4 day course is as follows:

    1. Lecture + hands-on labs + challenges

      Kubernetes doesn't know how to deploy apps written in languages such as Java, Node.js, or .NET. Instead, it only understands and uses Linux containers. But how do these Linux containers work? Are those strictly necessary to master Kubernetes? In this course, you will familiarise yourself with containers and Docker.

      1. Containers vs VMs

      2. Understanding process isolation

      3. Is Docker the only one?

      4. Docker client-server architecture

      5. Running containers

      6. Building Docker images

      7. Mounting volumes

      8. Exposing ports

      9. Managing containers lifecycle

      10. Injecting environment variables

      11. Debugging running containers

    2. Lecture + hands-on labs + challenges

      In this course, you will learn how to build, deploy and scale your application in a Kubernetes cluster. You will also learn how to expose your app to the internet and architect apps that are designed to be horizontally scalable.

      1. Managing containers at scale

      2. The battle of container orchestrators

      3. Visualising the data centre as a single VM

      4. The scheduler is the best Tetris player

      5. Kubernetes as an infrastructure as a service provider

      6. What are Pods, Services, and Ingresses?

      7. Creating a local cluster with minikube

      8. Creating a Deployment

      9. Exposing Deployments

      10. What is a Pod?

      11. Scaling applications

      12. Testing resiliency

    3. Lecture + hands-on labs + challenges

      Every time you deploy new features in production, you shouldn't stop your app, change the version and start it again. With zero-downtime deployments, no one notices any glitch while you're upgrading your apps. How does that work in Kubernetes? In this course, you will learn how Services work in Kubernetes and how you can roll out changes with zero downtime using rolling updates. You will also learn about Canary Deployments and Blue-green deployments.

      1. Monitoring for uptime

      2. Liveness probe

      3. Readiness probe

      4. Startup probe

      5. Executing zero downtime deployments with rolling updates

      6. Using labels and selectors

      7. Testing features with canary deployments

      8. Releasing features with blue-green deployments

      9. Understanding rollbacks and ReplicaSets

    1. Lecture + hands-on labs

      Resources in Kubernetes are described as YAML files. If you wish to have the same resources for different environments such as development, preproduction and production, you may be tempted to copy the files three times. Or you could use a templating engine. In this course, you will learn how to do that with Helm, Kustomize or with your programs in any language.

      1. Creating reusable templates

      2. Helm's templating engine

      3. Understanding the Helm architecture

      4. Templating resources with Go and Sprig

      5. Managing releases with Helm

      6. Reverting changes with rollbacks

      7. Depending on other charts

      8. Storing reusable templates in repositories

      9. Structured templating introduction with YQ

      10. Kubernetes specific structured templating with Kustomize

      11. Using Kubernetes SDKs for templating

    2. Lecture + hands-on labs

      Can Kubernetes recover from failures? In this course, you will learn the Kubernetes core components by building a cluster from scratch using kubeadm. But the best way to learn something is by breaking it. So you will also break the cluster one node at the time and observe what happens.

      1. Single and multi-node clusters

      2. Examining the control plane

      3. Persisting changes in etcd

      4. Syncing changes with RAFT

      5. Event-based architecture

      6. Understanding the kubelet

      7. Verifying "no single point of failure"

      8. Setting up a multi-master cluster

      9. Investigating multi-master setup in EKS

      10. Exploring multi-master setup in Monzo

      11. Creating a 3 node cluster with kubeadm

      12. Installing an overlay network

      13. Installing an Ingress controller

      14. Exploring the API without kubectl

      15. Taking down the cluster one node at a time

    1. Lecture + hands-on labs

      How does Kubernetes handle internal traffic between your microservices? How can two apps in the cluster talk to each other? How is Kubernetes assigning IP addresses to Pods and Services? In this course, you will explore how the traffic is routed inside the cluster.

      1. Network challenge with multiple nodes

      2. Network routing recap

      3. Understanding network requirements

      4. Understanding cluster address limits

      5. Assigning IP addresses

      6. The challenge of service discovery

      7. Exploring the Endpoints

      8. Balancing in-cluster traffic

      9. Routing traffic with kube-proxy

      10. Discovering Service types: headless and ClusterIP

      11. Network security for east-west traffic

      12. Network policy targets

      13. Network policy best practices

    2. Lecture + hands-on labs

      How to expose application frontends to the internet from a Kubernetes cluster? What's the solution for Layer 4 and Layer 7? In this course, you will learn about more Service types, and the Ingress.

      1. Layer 4 solution to expose a service

      2. The details of using Nodeport

      3. Provision loadbalancers automatically

      4. Helping out the world to save on IPs

      5. HTTP based routing for domains and paths

      6. Routing traffic with Ingress manifests

      7. The battle of Ingress controllers

      8. End-to-end packet journey

      9. Service mesh use-cases

      10. The ins and outs of service meshes

    3. Lecture

      Master advanced placements of workloads in your infrastructure. Learn how to schedule machine learning deployments to nodes with GPU or how you can segregate workloads for regions (useful if you need to comply with policies and regulations).

      1. How the Scheduler works in Kubernetes

      2. Filters and predicates

      3. nodeSelector

      4. Node affinity

      5. Pod affinity/anti-affinity

      6. Taints and tolerations

      7. Topology Spread Constraints

      8. Custom schedulers

    1. Lecture + hands-on labs

      How does Kubernetes store state? Can you host databases in your cluster? Can you extract configurations and share them with different deployments? How do you make sure that your storage layer is replicated and persisted even if a node becomes unavailable? In this course, you will learn how to deploy a database with durable persistence.

      1. Managing configurations

      2. Managing secrets

      3. Using Kubernetes Volumes

      4. Creating Persistent Volumes

      5. Creating Persistent Volume Claims

      6. Provisioning volumes dynamically

      7. Managing stateful applications

      8. Deploying a single database with persistence

      9. Deploying a clustered database with persistence

    2. Lecture + Hans-on labs

      After deploying your app to production, the received traffic may change in unpredictable ways. How do you keep your app responsive at all times? You can adapt the number of replicas. But is it feasible to do this manually, or are there better ways? In this course, you will learn how to autoscale an application based on an application-specific custom metric.

      1. Introduction to autoscaling

      2. The Horizontal Pod Autoscaler

      3. The Kubernetes metrics registry

      4. Exposing metrics from your apps

      5. Installing and configuring Prometheus

      6. Understanding custom and external metrics adapters

      7. Tuning the Horizontal Pod Autoscaler

    3. Lecture

      Wear your black hat and try to break the cluster. Study mitigation and countermeasure to secure your cluster against malicious attacks.

      1. Attack matrix of threats

      2. Security for Docker apps

      3. Security for Kubernetes clusters

      4. Security for Kubernetes networking

      5. Authentication in Kubernetes

      6. Role-based access control

  • Service Meshes (and Istio)
  • CKA/CKAD exam preparation
  • Logging and monitoring
  • Advanced Scheduling workloads

During the fourth day, the instructor will ask you to vote for your favourite topics.

You will cover as many modules as possible, starting from the most popular.

In private and corporate training, you can customise the schedule in full.

Book a corporate training →

  • Lifetime access to the Learnk8s Academy — the online Kubernetes courses (worth USD499).
  • All the slide decks.
  • A virtual workstation in the cloud for each delegate for the duration of the course.
  • Lifetime access to the private Slack channel where you can always ask for help.
  • A certificate of completion signed by the instructor.
  • Knowledge of basic Linux commands and navigation.
  • Familiarity with Linux networking.
  • Some experience with reverse proxies such as Nginx or HAProxy.
  • Exposure to Virtual Machines.
  • A laptop with 8GB of memory and 20GB of space available.
  • Windows, macOS, Ubuntu (or your favourite Linux distribution).
  • An instructor will get in touch with you.
  • You will receive a list of tools that you should install ahead of the event.
  • We will collect your dietary requirements (if any).
  • You will be granted access to the Learnk8s Academy.
  • We will keep you informed (and send gentle reminders) until the day of the event.

Don't just take our word for it; see what our students say about the course.

  • Apr 2024 Its going to be immense to absorb, do as much as you can, no one knows everything
    — Mohammed, DevOps engineer at Hotspex Media

  • Mar 2024 I wish the class lasted 5 days and all learning topics had a lab.
    — Brandon, Product Manager of DevSecOps at Sabel Systems

  • Mar 2024 I really enjoyed the challenges at the end of the first 3 lessons as they really had the concepts start to make sense and allow me to follow and learn at my own pace.
    — James, Systems Specialist at Sabel Systems

  • Mar 2024 Greg was just awesome and very knowledgable. I also love that the course material remains available afterwards, and that we keep access to the Slack channel.
    — Aaron, DevOps Engineer at RIPE NCC

  • Feb 2024 It was the most comprehensive course I have ever taken. It made me feel like I am ready to use Kubernetes immediately.
    — Simon, Software engineer at Tromero

  • Feb 2024 The instructor Salman was very knowledgable and engaged, and made sure to cover specific topics that were relevant to our expectations from what we would learn from the course.
    — Isaac, GIS Developer at EIFER

  • Feb 2024 The online training material, documentation and presentations are very well done!
    — Andreas, Director of Engineering at Autodesk

  • Jan 2024 The technical depth of demos and deep-dive explanations - so much better than any of the many online on-demand classes I've taken.
    — Dana, Staff Systems & Infrastructure engineer at Walmart

  • Nov 2023 Labs, the labs were fantastic.
    — Paul, Infrastructure Automation Guild Lead at Research Innovations

What you need to know:

Have questions? Click here to speak to an instructor.

Success! We sent you a confirmation email and an instructor will be with you as soon as possible.

If the date isn't quite right, don't worry. We run workshops regularly. Join our newsletter and keep up to date with the latest news (and workshop announcements):

*We'll never share your email address, and you can opt-out at any time.

We care more about our students' success than taking their money.

If you follow the lectures and practise the material (without being distracted by your day to day duties) and still DO NOT feel like you made any progress, we'll give you a full refund.

We're honest to the end about the level of effort, skills, and other ingredients required.

This is not a watch someone else presenting a PowerPoint and become an expert type of course. The learning curve is steep; then, the plateau of usefulness is very long and smooth. It's a great feeling operating Kubernetes after you've mastered it.

  • Software developers, Data engineers, Architects and DevOps seeking to learn how to use Kubernetes to automate deployment, scaling and management of containerised applications.

  • You will receive the joining instructions with all the material needed to run the course after you sign up for the course.

  • The material was authored for Kubernetes 1.30.

  • We want to make sure you get real value out of this so we only want your money if you are happy with the product! If you aren't satisfied, please send an email to hello@learnk8s.io with a copy of your receipt and I will refund you.

  • Sure - send an email to hello@learnk8s.io.