Self-paced Kubernetes online course

Become an expert in deploying applications at scale.

Down
Training
Team

With a focus on simplicity and readability, this course will have you deploying and scaling applications in no time!

  • Tick

    Gain hands-on experience in deploying and scaling applications

  • Tick

    Level up your expertise by solving challenges from real-world use cases

  • Tick

    Learn best practices from the experts and how to do things the Kubernetes way™

  • Tick

    Speak the Kubernetes jargon and talk to the rest of the Cloud Native community

  • Tick

    Gain valuable knowledge by getting your hands dirty and trying things for yourself

  • Tick

    Become an expert faster with laser-focused materials and labs (no fluff!)

  • Tick

    Help to shape your company's roadmap to cloud-native technologies

  • Tick

    Empower your team to operate and use Kubernetes like experts

  • Tick

    Quickly onboard new members your team to the same level as everyone else

Small cargo
  • Tick

    Standardise your tools, workflows and deployments under a single tool

  • Tick

    Master architecting services that span multiple clouds and data centres for resilience and failover

  • Tick

    Secure your Kubernetes cluster by breaking it

  • Tick

    Package, deploy and scale applications in Kubernetes

  • Tick

    Design cloud provider agnostic clusters

  • Tick

    Leverage the strength and avoid the weaknesses of the major Kubernetes managed service offerings (AKS, EKS, GKE)

  • Tick

    Deploy applications in production with zero downtime

  • Tick

    Monitor, log and debug production issues in Kubernetes

  • Tick

    Deploy stateful workloads such as databases

  • Tick

    Implement a CI/CD delivery pipeline that leverages containers and Kubernetes for speed and reliability

  • Plus

    Everything you need to pass your certification as a Certified Kubernetes Administrator (CKA) and Kubernetes Application Developer (CKAD)

Team

“This is the course you have to do to put all the pieces in the right place and challenge yourself to really master your knowledge of Kubernetes. Wish I had done it long ago.”

— Marcello Teodori, Architect

Inside this course, you'll find all the know-how, scripts, documents, templates, code, and more you need to learn Kubernetes and its ecosystem.

Kubernetes doesn't know how to deploy Java, Node.js, or .NET applications. The only thing it can deal with is Linux containers. But how do these Linux containers work? Why should you care? Are those necessary to master Kubernetes?

The topics covered in this module are:

  • 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

Modules include:

  • Process isolation
  • Docker
  • Docker client-server architecture
  • Forwarding ports with Docker

Learn the basics of Kubernetes and deploy your first application to minikube — a Kubernetes cluster for local development. Learn how to declare resources in YAML files, how to send those to the cluster and retrieve them. Understand how Kubernetes reconciles the desired state of the infrastructure.

The topics covered in this module are:

  • 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

Modules include:

  • Playing tetris with Kubernetes
  • Data centre as single a virtual machine
  • Kubernetes basic concepts
  • minikube

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.

The topics covered in this module are:

  • 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

Modules include:

  • Liviness probe
  • Readiness probe
  • Rolling updates
  • Labels and selectors

When you deploy applications to Kubernetes you don't decide in which server a container is scheduled. Kubernetes abstracts your data centre into a single entity, and you don't get to worry about the underlying resources. But how does Kubernetes work its magic?

The topics covered in this module are:

  • 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

Modules include:

  • Control plane
  • Monzo multi-master setup
  • Raft protocol
  • Multi-node cluster

How do you route traffic from the internet to your applications? How can you secure your communication with TLS? How about path routing to different services? In this module, you will explore how the traffic is routed in the cluster.

The topics covered in this module are:

  • 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

Modules include:

  • Example of a Kubernetes network
  • kube-proxy
  • In-cluster load balancing
  • End-to-end traffic flow

How does Kubernetes store files and state? Can you host databases in it? Should you? 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?

The topics covered in this module are:

  • 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

Modules include:

  • Kubernetes persistent volume claims
  • StorageClass templates
  • Deploying Apache Cassandra
  • Stateful applications

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. Learn how to do precisely that with Helm — the Kubernetes package manager.

The topics covered in this module are:

  • 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

Modules include:

  • Templating variables
  • Helm architecture
  • Rollbacks in Helm
  • Chart Museum

The following modules are being developed and are coming to the Academy later on.

  • Node network

    Dive into the specifics of network interfaces, IP addresses and network topologies in this session about advanced Kubernetes networking.

  • Node affinity and anti-affinity

    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).

  • Kubernetes RBAC

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

  • Cluster federation

    Learn how to design clusters that span multiple cloud providers for resilience, disaster recovery or just saving money.

  • AKS, EKS and GKE

    Discover the nitty-gritty details of how AKS, EKS and GKE work and their strength and limitations.

  • From development to production

    Learn how to design CI/CD pipelines that leverage containers and Kubernetes. Ship software quicker, more reliably and cheaply.

The course is totally worth the money and time, if you have a team that is getting started with Kubernetes and want to validate the approach that you are taking as well as to level up your knowledge on K8s, this is the way to go.

— Salaboy, Activiti Cloud Team Lead

You can sign-up to a demo account and have look at the content and the structure of the course before you commit to it.

Try now →

Need to train your team?

We offer flexible, cost-effective group membership for businesses, schools or government organisations.

Are you looking for something else?

Book a free 15m consultation