Build Systems that Drive Business
Sep 30–Oct 1, 2018: Training
Oct 1–3, 2018: Tutorials & Conference
New York, NY

In-Person Training
Kubernetes bootcamp: Deploying and scaling microservices

Jerome Petazzoni (Tiny Shell Script LLC)
Sunday, September 30 & Monday, October 1, 9:00am - 5:00pm
Location: Murray Hill West (A) Level: Intermediate
Secondary topics:  Training
Average rating: *****
(5.00, 6 ratings)

Participants should plan to attend both days of this 2-day training course. To attend, you must register for a Platinum or Training pass; does not include access to tutorials on Monday.

Kubernetes has a reputation for being complex to set up and operate, but that doesn't have to be the case. Join Jérôme Petazzoni to explore Kubernetes concepts and architecture and learn how to use it to deploy and scale your applications. The content is suitable to all kinds of deployment models, from the cloud (AKS, EKS, GKE, kops, etc.) to on-premises.

What you'll learn, and how you can apply it

  • Learn how to deploy containerized applications to production with Kubernetes

This training is for you because...

  • You need to interact with Kubernetes clusters but have no prior experience with the tool.

Prerequisites:

  • Familiarity with container principles and at least one container engine (useful but not required)

Hardware and/or installation requirements:

  • A laptop with an SSH client installed

Kubernetes has a reputation for being complex to set up and operate, but that doesn’t have to be the case. Join Jérôme Petazzoni to explore Kubernetes concepts and architecture and learn how to use it to deploy and scale your applications. The content is suitable to all kinds of deployment models, from the cloud (AKS, EKS, GKE, kops, etc.) to on-premises.

Each section features explanations, demos, and exercises. Each participant is given access to a Kubernetes cluster during the training and will get firsthand experience by completing the exercises.

Outline

Kubernetes concepts

  • What’s an orchestrator?
  • From pods to containers
  • The control plane
  • Declarative versus imperative models
  • Kubernetes netwqorking overview
  • The Container Network Interface (CNI)

Running your first containers with Kubernetes

  • Getting familiar with kubectl
  • Creating a deployment, a replica set, and a pod
  • Introduction to labels and selectors

Service discovery and load balancing

  • Exposing a service
  • Service types: ClusterIP, NodePort, and LoadBalancer
  • Headless services
  • Using kube-dns for service discovery

Distributing images

  • The different registries available
  • Self-hosting a container registry on your cluster
  • Using Docker Compose to manage the image lifecycle

Deploying an application from A to Z

  • Starting microservices with kubectl
  • Connecting microservices together
  • Scaling and load balancing
  • Updating the code of a service
  • Mitigating update impact with rolling deploys

Understanding resource YAML definitions

  • Example: Converting a deployment to a daemon set
  • Exporting resource YAML
  • Translating one resource type into another

Labels and selectors deep dive

  • Understanding the different places where they appear
  • Using them to update load balancer configuration
  • Understanding resource templates

Operating a Kubernetes cluster

  • Installation options
  • Accessing application logs
  • The Kubernetes dashboard
  • Security implications

The case of stateful applications

  • What’s a volume, PersistentVolume, and a PersistentVolumeClaim?
  • When to use StatefulSets
  • Deploying resilient stateful applications

Managing increasingly complex apps

  • Capturing resource definitions
  • From kubectl to committed YAML
  • From committed YAML to Helm
  • Other options
  • Using config maps and secrets

When many applications cohabitate

  • Using namespaces
  • Isolating services with network policies
  • Deploying multiple instances of the same app

The ingress resource

  • Using ingress for HTTP traffic
  • Different ingress implementations
  • Advanced traffic engineering

You’ll also cover a few advanced topics (like cluster federation) but without demos and exercises, since they would require much larger clusters.

About your instructor

Photo of Jerome Petazzoni

Jérôme Petazzoni is a DevOps advocate and international speaker. He was born and raised in France, where he worked on geographic information systems, voice over IP, video streaming, and encoding and started a cloud hosting company back when EC2 wasn’t an Amazon product yet. In California he built and scaled the dotCloud PaaS, which eventually gave birth to Docker. While at Docker, he represented the company at hundreds of conferences and events and trained thousands of engineers to use Docker, Swarm, and Kubernetes. He’s fluent in many languages (mostly programming ones), owns a dozen musical instruments, and can play the theme of Zelda on most of them.

Twitter for jpetazzo

Conference registration

Get the Platinum pass or the Training pass to add this course to your package.