Self-paced Kubernetes online course

Become an expert in deploying applications at scale.

Training
Down
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

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

"The training is very well prepared and also very well performed."

— Przemek Anuszek, Senior engineer

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?

  • Containers vs VMs
  • Understanding process isolation
  • Is Docker the only one?
  • Running containers
  • Using Docker registries
  • Mounting volumes
  • Building Docker images
  • Exposing ports
  • Managing containers lifecycle
  • Injecting environment variables
  • Debugging running containers

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.

  • 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 Deployment
  • Creating a local cluster with minikube
  • Exploring ReplicaSets
  • What is a Pod?
  • Scaling applications
  • Starting a local cluster
  • Deploying containers
  • Exposing Deployments
  • Scaling Deployments
  • Testing resilience

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.

  • Monitoring for uptime
  • Liveness probe
  • Readiness probe
  • Executing zero downtime deployments
  • Releasing features with canary deployments
  • Releasing features with blue-green deployments
  • Using labels and selectors
  • Preparing for rollbacks
  • Monitoring rolling updates
  • Reconfiguring Services on the fly
  • Balancing canary deployments
  • Testing blue-green deployments

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?

  • Single and multi-node clusters
  • Examining the control plane
  • Persisting changes in etcd
  • Syncing changes with RAFT
  • Event-based architecture
  • Understanding the kubelet
  • Verifying
  • 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

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.

  • Understanding network requirements
  • Exploring Endpoints
  • Balancing in-cluster traffic
  • Routing traffic with kube-proxy
  • CRI, CNI, CSI: interfaces for the kubelet
  • Routing traffic to services with kube-proxy
  • 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
  • Inspecting endpoints
  • Tampering routing tables
  • Exposing applications
  • Creating an Ingress controller
  • Debugging an Ingress controller
  • Leveraging service discovery

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?

  • Managing configurations
  • Managing secrets
  • Creating Persistent Volumes
  • Creating Persistent Volume Claims
  • Provisioning volumes dynamically
  • Managing stateful applications
  • Creating volumes on bare metal
  • Deploying a database
  • Persisting changes with Persistent Volumes
  • Persisting changes with StorageClass
  • Storing credentials in a Secret

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.

  • Templating resources
  • Understanding the Helm architecture
  • Creating reusable templates
  • Templating resources with Go and Sprig
  • Managing releases with Helm
  • Writing helper functions
  • Managing releases for different environments
  • Reverting changes with rollbacks
  • Depending on other charts
  • Storing reusable templates in repositories
  • Installing Helm
  • Creating charts
  • Deploying charts with dry-runs
  • Writing helpers
  • Understanding charts lifecycle

You can tune in to the following live classes.

  • Multi-cloud, multi-data centre

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

  • EKS, AKS, GKE

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

  • Security

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

  • Advanced networking

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

  • Advanced scheduling

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

  • CI/CD pipelines

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

I cemented my understanding of Kubernetes and can now use that to start implementing and furthering my knowledge with real examples and workflows. Next stop, production experience.

— David Heward, Senior DevOps Engineer

6 modules

  • Tick

    12 months access

  • Tick

    Docker fundamentals module

  • Tick

    Access to the instructor-led webinars for 6 modules

  • Tick

    Access to the material for 6 modules

    1. Getting started with Kubernetes
    2. Deployment strategies
    3. Kubernetes architecture
    4. Kubernetes networking
    5. Managing state
    6. Helm
  • Tick

    All source code — build files, scripts and files for each module

  • Tick

    Access to all interactive challenges

6 modules + extras

  • Tick

    12 months access

  • Tick

    Docker fundamentals module

  • Tick

    Access to the instructor-led webinars for all modules

  • Tick

    Access to the material for all modules

    1. Getting started with Kubernetes
    2. Deployment strategies
    3. Kubernetes architecture
    4. Kubernetes networking
    5. Managing state
    6. Helm
    7. Scaling applications
  • Tick

    Access to instructor-led extra modules

    1. Multi-cloud, multi-data centre
    2. Managed services (EKS, AKS, GKE)
    3. Security
    4. Advanced networking
    5. Advanced scheduling
    6. CI/CD pipelines
  • Tick

    All source code — build files, scripts and files for each module

  • Tick

    Access to all interactive challenges

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