Kubernetes online classrooms

Learn Kubernetes from the comfort of your home, from seasoned instructors while making new friends

Online public classes are great to get started with Kubernetes from the comfort of your home.

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

Things you need to know about the course:

  • Tick

    You will get your hands dirty: the split is 40% lecture and 60% hands-on labs.

  • Tick

    You will have the chance to ask questions and discuss with the instructor.

  • Tick

    The event is small and cosy, so everyone has a fair chance to participate and engage

  • Tick

    You will learn from expert instructors (you can find us on the Learnk8s Telegram group).

  • Tick

    The event is streamed using excellent video quality, and we use Slack as chat.

  • Tick

    You will have access to all the material after the course.

  • Tick

    There's a clear schedule so that you can take a walk or look after the kids in-between lectures.

This course is not:

  • Tick

    A webinar with hundreds of people. There's a 2-way audio (and video) stream with the instructor.

  • Tick

    Passive and less engaging because it's online. You will have to answer to question just like in a real, in-person workshop.

The following are the ten most common modules

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.

You will learn how to package and run applications in Docker containers. The module covers the following topics:

  • Containers vs VMs
  • Understanding process isolation
  • Is Docker the only one?
  • Docker client-server architecture
  • Running containers
  • Building Docker images
  • Mounting volumes
  • Exposing ports
  • Managing containers lifecycle
  • Injecting environment variables
  • Debugging running containers
Linux containers and Kubernetes

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

You will learn the basics of Kubernetes and how to deploy Linux containers. The module covers the following topics:

  • Managing containers at scale
  • The battle of container orchestrators
  • Visualising the data centre as a single VM
  • The best Tetris player
  • Exploring an API over your infrastructure
  • What are Pods, Services, and Igresses?
  • Creating a local cluster with minikube
  • Creating a Deployment
  • Exposing Deployments
  • What is a Pod?
  • Scaling applications
  • Testing resiliency
Kubernetes fundamentals

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, Canary Deployments or Blue-green deployments.

You will learn different techniques to deploy your applications with zero downtime. The module covers the following topics:

  • Monitoring for uptime
  • Liveness probe
  • Readiness probe
  • Executing zero downtime deployments
  • Using labels and selectors
  • Releasing features with canary deploymentss
  • Releasing features with blue-green deployments
  • Preparing for rollbacks
Advanced deployment strategies

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.

You will learn the core components in Kubernetes and how they work. The module covers the following topics:

  • Single and multi-node clusters
  • Examining the control plane
  • Persisting changes in etcd
  • Syncing changes with RAFT
  • Event-based architecture
  • Understanding the kubelet
  • Verifying "no single point of failure"
  • Setting up a multi-master cluster
  • Investigating multi-master setup in EKS
  • Exploring multi-master setup in Monzo
  • Creating a 3 node cluster with kubeadm
  • Installing an overlay network
  • Installing an Ingress controller
  • Exploring the API without kubectl
  • Taking down the cluster one node at the time
Architecture

How do you route external traffic to your applications in the cluster? 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 in the cluster.

You will learn how the traffic flows inside the cluster. You will also learn how to expose your apps to the public internet. The module covers the following topics:

  • Network routing in Linux
  • Understanding network requirements
  • Exploring the Endpoints
  • Balancing in-cluster traffic
  • Routing traffic with kube-proxy
  • CRI, CNI, CSI: interfaces for the kubelet
  • Choosing between latency and load balancing
  • Pros and cons of the 4 types of Services
  • Discovering Services
  • Routing traffic with an Ingress controller
  • End-to-end traffic journey
Networking

Dive into the specifics of network interfaces, IP addresses and network topologies in this course about advanced Kubernetes networking. Learn how to build your Kubernetes network and how the Container Network Interface (CNI) works. And while you're at it why not making your very own Container Network Interface (CNI)?

You will learn how to persist data in Kubernetes. The module covers the following topics:

  • Exploring the Node network
  • Cluster network
Advanced networking

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 precisely that with Helm.

You will learn how to template resources for different environments. The module covers the following topics:

  • Creating reusable templates
  • Helm's templating engine
  • Understanding the Helm architecture
  • Templating resources with Go and Sprig
  • Managing releases with Helm
  • Writing helper functions
  • Reverting changes with rollbacks
  • Depending on other charts
  • Storing reusable templates in repositories
Templating resources

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.

You will learn how to expose metrics from the cluster and how to use the to scale your apps. The module covers the following topics:

  • Introduction to autoscaling
  • The Horizontal Pod Autoscaler
  • The Kubernetes metrics registry
  • Exposing metrics from your apps
  • Installing and configuring Prometheus
  • Understanding custom and external metrics adapters
  • Tuning the Horizontal Pod Autoscaler
autoscaling

When you have dozens, hundreds or even thousands of applications interacting in your cluster, it's hard to tell what is going on. What if you could inspect the traffic without affecting routine operations? What if you could upgrade the network and encrypt communications? In this course, you will explore what a Service Mesh is and how you can build your own.

You will learn what are service service and how you can build your own Istio service mesh with Envoy. The module covers the following topics:

  • Why service meshes?
  • Envoy
  • Circuit breaker, rate limiting and filters
  • Envoy discovery service
  • Envoy and Kubernetes integration
  • Load balancing with Envoy
  • Building a basic service mesh
Service meshes

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.

You will learn how to persist data in Kubernetes. The module covers the following topics:

  • Managing configurations
  • Managing secrets
  • Using Kubernetes Volumes
  • Creating Persistent Volumes
  • Creating Persistent Volume Claims
  • Provisioning volumes dynamically
  • Managing stateful applications
  • Creating volumes on bare metal
  • Deploying a single database with persitence
  • Deploying a clustered database with persitence
  • Designing storage that can span multiple nodes
Managing state
  • Tick

    Security

  • Tick

    CI/CD

  • Tick

    Multi-cloud, multi-data centre deployments

  • Tick

    Advanced Scheduling workloads

  • Tick

    ML/AI with Kubeflow

Kubernetes is a vast subject, but you can select the topic that you are really interested in.

A typical schedule for the three days course:

You can also book a private session for your team with a fully customisable schedule. Get in touch to discuss your options.

  • Tick

    Lifetime access to the Learnk8s Academy — the online Kubernetes courses (worth USD 499.00)

  • Tick

    All the slides from the events

  • Tick

    Transcript of the chat room

  • Tick

    Lifetime access to the private Slack channel where you can ask for help

Online public classes are great to get started with Kubernetes from the comfort of your home.

  • 27

    Apr

    • Duration: Full time (6 hours per day), 3 days
    • Starts at: 9:00 a.m.
    • Time zone: Central European Time (CET) UTC+1

    Price

    USD 2,249.00

    Book a ticket →
  • 13

    May

    • Duration: Full time (6 hours per day), 3 days
    • Starts at: 9:00 a.m.
    • Time zone: Central Time US (CDT) UTC-5

    Price

    USD 2,249.00

    Book a ticket →
  • 27

    May

    • Duration: Full time (6 hours per day), 3 days
    • Starts at: 9:00 a.m.
    • Time zone: Singapore (SGT) UTC+8

    Price

    USD 2,249.00

    Book a ticket →

Design your own private session:

  • Tick

    Customise the agenda in full and select the modules relevant to you

  • Tick

    Increase the session length up to five full-time days

  • Tick

    Include ad-hoc consulting sessions to address your cluster configuration

  • Tick

    Add ad-hoc modules developed to help you deliver your cluster to production

Get in touch →

  • It is intended for Software developers, Architects and Deployment engineers 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.

  • Slack for chatting and Google Hangouts or Zoom for video conferencing.

  • Yes, you will be able to ask questions like if you were in a physical class.

  • The material was authored for Minikube 1.8.x, Kubernetes 1.17, Helm 3

  • 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 we will refund you.

  • Absolutely! Send us an email at hello@learnk8s.io with some proof that you are a student and we'll send you a discount code. This applies to anyone in any type of schooling, including evening classes and coding bootcamps!

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