Workshop: Kubernetes Intensive Course

Location: Westminster, 4th flr.

Duration: 9:00am - 4:00pm

Day of week: Friday

Level: Intermediate

Key Takeaways

  • First contact with a Kubernetes cluster
  • Running containers, pods, deployments
  • Connecting apps with services
  • Understanding and using YAML manifests
  • Managing workloads with labels and selectors
  • Safe rollouts and rollbacks
  • App configuration

Prerequisites

To make the most out of this workshop, you should be comfortable with the UNIX command line (be able to SSH into a remote machine, navigate directories, edit files with `vi` or a similar editor), and have basic knowledge of containers. It's not necessary to be a Docker expert, but ideally, you'll have already built and run a container image (for instance with `docker build` and `docker run`).

If you have zero knowledge of containers, the "Docker Intensive Course" workshop will teach you everything you need (and some more).

You do not need to install Kubernetes on your local machine: we will execute all the exercises on remote Kubernetes clusters, provided for the duration of the workshop.

You've started to "containerize" your applications by writing a Dockerfile or two, and now you want to run your containers in a cluster. But Kubernetes is quite different from Docker: the smallest unit of deployment is not a container, but a *pod*; pods are accessed through specialized load balancers called *services*; there are *labels* and *selectors* everywhere; and everything is created by expressing desired state with YAML, lots of YAML.

In this hands-on workshop, we will learn about Kubernetes and its key concepts, both in theory (we will become familiar with all the things evoked in the previous paragraph) and in practice (we will know how to use them to deploy and scale our applications).

Kubernetes has the reputation of being a complex system with a steep learning curve. We will see that it is, indeed, a complex system, but that it is possible to tame its most essential features in just a few hours.

This is what we will cover:

Kubernetes overview

  • Orchestration concepts
  • The API and control plane
  • Nodes, Pods, Services
  • Declarative vs imperative

First contact

  • Using kubectl
  • Running containers on k8s
  • From Pods to Deployments
  • Cronjobs and other resources
  • Accessing logs

Connecting containers

  • Kubernetes network model
  • The different Service types
  • Exposing containers

Running applications

  • Shipping images
  • Deploying with YAML
  • Scaling our demo app

Managing containers

  • Labels and selectors
  • Rolling updates
  • Namespaces  

...And some more 

  • Ingress and HTTP services
  • Volumes
  • Configuration management

This workshop is for developers, system administrators, and architects alike: anyone who needs to interact with a Kubernetes cluster, or who wants to understand practical Kubernetes concepts in order to design scalable applications.

Speaker: Jérôme Petazzoni

Staff Container & Infrastructure Engineer @enixsas

Jérôme was part of the team that built, scaled, and operated the dotCloud PAAS, before that company became Docker. He worked seven years at the container startup, where he wore countless hats and ran containers in production before it was cool. He loves to share what he knows, which led him to give hundreds of talks and demos on containers, Docker, and Kubernetes. He trained thousands of people to deploy their apps in confidence on these platforms, and continues to do so as an independent consultant. He values diversity, and strives to be a good ally, or at least a decent social justice sidekick. He also collects musical instruments and can arguably play the theme of Zelda on a dozen of them.

Find Jérôme Petazzoni at

Other Workshops:

Day: Friday [Full Day]
Day: Thursday [Two Day], Day: Friday [Two Day]
Day: Friday [Full Day]

Tracks

  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

  • The Future of the API: REST, gRPC, GraphQL and More

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems move huge volumes of data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Modern CS in the Real World

    Head back to academia to solve today's problems in software engineering.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Driving Full Cycle Engineering Teams at Every Level

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    There are many discussions outlining the secret sauce of high-performing teams. Learn how to balance the essential ingredients of high performing teams such as trust and delegation, as well as recognising the pitfalls and problems that will ruin any recipe.

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications