Deploying Microservices and Traditional Applications with Kubernetes (with Jérôme Petazzoni)

  5 days


This is a 20-hour, hands-on online training to get started with Kubernetes, understand its concepts and its architecture, and learn how to leverage it for your applications.

It puts a strong emphasis on “Cloud Native” principles and micro-services architectures, but is also suitable for traditional monolithic applications.

From theory to practice: for the duration of the training, each student is provided with their own, dedicated Kubernetes cluster, on which they will implement numerous labs and exercises. The demo apps and code samples feature components written in various languages like Node.js, Python, or Ruby. These components communicate with each other over load balancers. We will show you how to deploy and run that code on Kubernetes clusters.

The curriculum is suitable to all Kubernetes deployment models: public cloud (AKS, EKS, GKE…), private cloud (OpenStack…), or on-premises (on your own servers in datacenters).

Deploying Microservices and Traditional Applications with Kubernetes (Online workshop with Jérôme Petazzoni)

This course is run virtually over 5 sessions of 4 hours each.

Our virtual workshops offer the same expert-led, hands-on experience we've offered since 2013 — accessible from the comfort of your own home (office).

Online Courses for Software Professionals at Skills Matter

Learn how to:

By the end of this workshop, you will know how to leverage Kubernetes to improve the availability and scalability of your applications.

About the Author

Jérôme Petazzoni

Jérôme was part of the team that built, scaled, and operated the dotCloud PAAS, before it became Docker. He worked seven years at the famous container company, wearing various hats. When he's not busy with computers, he collects musical instruments. He can arguably play the theme of Zelda on a dozen of them.

Available dates

Dates coming soon

Can't make it on any of these dates?
Our team is happy to discuss other options with you.
Contact us at and mention ref: APPSK8S-JP-02.
Private tuition and large-group discounts are also available. Find out more here.

Who should take this workshop?

This workshop is for Developers, System Administrators, Ops, Tech leads, and Architects.


To get the most out of this training, you should be familiar with container fundamentals. You don't need to be an expert, but ideally, you know how to build a container image (for instance, with a Dockerfile), start a container, stop it, and check its logs.

If you aren't familiar with these concepts, we recommend that you familiarize yourself with them (e.g. Docker).

Labs and exercises will be done on cloud virtual machines that we provide for the duration of the training. Each student needs to have their own computer, with a web browser and an SSH client.

Bring your own hardware

The online learning platform requires a web browser. It doesn't require any plugin or extra software installation. Firefox and Chrome are supported on Linux, Mac, and Windows platforms.

Students don't need a microphone or webcam (although they can use one if they wish). It is recommended to have multiple monitors, or a larger monitor, so that the students can display simultaneously the video stream (1080p), the live chat, the training materials, and the SSH client to connect to their live environment.

Workshop Outline

The content is broken down into many modules (each running 10 to 30 minutes long). Each module starts with a presentation of its concepts, followed by live demos in a real environment. The students are then prompted to reproduce these demos in their own environment, specially prepared for the training. This environment is set up to be usable immediately (no time wasted installing local virtual machines or setting up everyone's computer!), and it has all the features of a typical deployment, allowing to freely go "off-script", tinker, and experiment.

Kubernetes Architecture
  • Overview of Kubernetes features
  • Control plane, worker nodes
  • Using the kubectl CLI
  • Declarative and imperative models
Creating Resources
  • Pods and Deployments
  • Viewing container logs
  • Kubernetes networking
  • ClusterIP, NodePort, LoadBalancer
  • Deployments and Replica Sets
  • Daemon Sets
  • Service selectors and load balancing
  • Load balancing with labels
  • YAML manifests
  • Namespaces and scopes
Remote Clusters
  • Configurations and contexts
  • Accessing internal services
Rollouts, Healthchecks
  • Upgrading a Deployment
  • Upgrade strategies
  • Healthchecks
  • Readiness, liveness, startup probes
Configuring Apps
  • Pod volumes
  • The downward API
  • ConfigMaps
  • Secrets
  • Reconfiguration strategies
Ingress Resources
  • Handling inbound HTTP traffic
  • Ingress controllers
Auth'n and Auth'z
  • Certs, tokens, and ServiceAccounts
  • Role-Based Access Control
Network Policies
  • Isolating pods with network policies
  • Capacity Management
    • CPU and RAM requests and limits
    • LimitRanges and ResourceQuotas
    • Metrics API
    • Managing cluster capacity
    • Configurations and contexts
    • The Horizontal Pod Autoscaler
    Installing with Helm
    • Helm concepts
    • Charts, repositories, releases
    Authoring Helm Charts
    • Writing a basic chart
    • Intro to Helm templates

    Deploying Microservices and Traditional Applications with Kubernetes (with Jérôme Petazzoni)
    Dates coming soon