Become an expert in Kubernetes

Learn Kubernetes in detail from the basics to advanced concepts.

This course is designed to ease you in the world of Kubernetes. Things you will learn in the course:

  • Why Kubernetes is so popular and convenient compared to virtual machines.
  • What are Kubernetes' basic building blocks.
  • How you should design applications that can scale horizontally.
  • You will learn the details of running a cluster network (and designing one from scratch).
  • You will learn what a service mesh is and how they work.
  • You will inspect Kubernetes self-healing properties by simulating failures in your deployments.
  • You will master troubleshooting deployments.
  • You will deploy and scale stateful applications such as databases.

This course is not for you if:

  • Your only objective is to pass the CKA, CKAD and CKS exams. The courses cover material that is not included in the exams.
  • You only want to watch videos without any practical or hands-on labs. Most of the courses are book with hands-on labs and challenges.
  • All eBook.
  • All videos.
  • All source code for the labs.
  • Lifetime updates.
  • Certificates of completion.
  • Get help from the Learnk8s instructors on Slack.

The courses cover beginner and advanced concepts

  1. 1. Kubernetes first steps

    Learn how to package, deploy and scale applications with Docker 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.

  2. 2. Advanced deployment strategies in Kubernetes

    Learn how to deploy apps into production without any downtime and incrementally.

    Every time you deploy new features in production you don't want to stop your service, load a new version and remove the holding page.

    Ideally, you should be able to transition to a new version of your application without anyone noticing any downtime.

    You can leverage Kubernetes to do that.

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

    • Is the app down for everyone or just me?
    • Before you start
    • Rolling updates
    • Services and selectors
    • Canary deployments
    • Blue-green deployments
    • Rolling back a deployment
    • Challenges
  3. 3. Kubernetes architecture

    Learn how to build (and break) a Kubernetes cluster.

    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.

    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
  4. 4. Kubernetes networking

    Learn how the traffic is routed inside and outside a Kubernetes cluster.

    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 learn the basics as well as some advance topics about networking in Kubernetes.

    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
  5. 5. Advanced Kubernetes networking

    Learn how to build a CNI from scratch in bash.

    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 try making your very own Container Network Interface (CNI)?

    You will learn how to build your own Container Network Interface (CNI). The module covers the following topics:

    • Exploring the Node network
    • Cluster networking
    • The Container Network Interface (CNI)
    • Designing a CNI plugin from scratch
    • Implementing a CNI plugin
    • Installing and testing a custom CNI plugin
  6. 6. Managing state in Kubernetes

    Learn how to manage stateful applications in Kubernetes.

    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.

    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 persistence
    • Deploying a clustered database with persistence
    • Designing storage that can span multiple nodes
  7. 7. Autoscaling in Kubernetes

    Scale your app with standard and custom metrics.

    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.

    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
  8. 8. Templating Kubernetes resources

    Learn how to template YAML resources with Helm.

    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 deploy applications to several environments such as dev, staging, prod without repeating yourself. 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
  9. 9. Building your own service mesh

    Learn how to build a service mesh from scratch.

    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.

    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
  10. 10. Authentication

    Learn how authentication works in a Kubernetes cluster.

    How are requests to the Kubernetes API authenticated?

    What types of credentials does Kubernetes support?

    What does it mean that Kubernetes delegates the management of users to an external user management system?

    And how can you integrate Kubernetes with an existing user management system?

    In this course, you will learn everything you need to know about Kubernetes authentication.

    The module covers the following topics:

    • How authentication works
    • Authentication plugins
    • Implementing an authentication service with LDAP
    • Deploying the authentication service
    • Testing the authentication method
  • Knowledge of basic Linux commands and navigation.
  • Exposure to Virtual Machines.
  • A laptop with 4GB of memory and 20GB of space available.
  • Windows, macOS, Ubuntu (or your favourite Linux distribution).

Download a preview of the eBook here:

Watch an excerpt of the course here:

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.

Learn a new skill that'll stick with you throughout your career.

  • A: We recorded the videos and are close to complete adding them to the Academy. The estimate delivery is the second week of March.

  • A: The material was authored for Kubernetes 1.30 and will be updated regularly.

  • A: The material is designed to run locally on a minikube cluster. The learnings from this course can be applied to any cloud or on-prem installation.

  • A: Absolutely! Drops 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 schooling, including evening classes and coding bootcamps!

  • A: 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, within 30 days, send an email to hello@learnk8s.io with a copy of your receipt and, we will refund you.

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