4–7 Nov 2019

Deploying and scaling applications with Kubernetes

Jerome Petazzoni (Tiny Shell Script LLC)
9:00—17:00 Monday, 4 November—Tuesday, 5 November
Location: M1

Participants should plan to attend both days of training course. Note: to attend training courses, you must be registered for a Platinum or Training pass; does not include access to tutorials on Tuesday.

Thanks to this hands-on training, you will understand Kubernetes' concepts and architecture, and use it to deploy and scale your applications. Each chapter features theory and practice, with many demos and exercises. Each student is given access to a k8s cluster during the training, and will get first-hand experience by completing the exercises.

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

After this session, you will know how to deploy your containerized applications to production with Kubernetes. Kubernetes has the reputation of being complex to setup and operate, but we will show that it doesn't have to be the case.

Who is this presentation for?

Developers targeting Kubernetes clusters; ops supporting them; architects and tech leads willing to understand cloud native principles.

Level

Intermediate

Prerequisites:

It's recommended (but not mandatory) to be familiar with container principles and at least one container engine. For instance, if you have already used Docker and written Dockerfiles to containerize an application, that's perfect! We are going to show you how to take that from a single node, to a Kubernetes cluster.

No prior exposure to Kubernetes or other orchestrators is necessary. If you only have superficial knowledge of containers or Docker but consider yourself a quick learner, don't hesitate to attend: there will be numerous examples and demos, and you will be able to test them out on your own cluster.

Hardware and/or installation requirements:

You won't need to pre-install Docker or Kubernetes before the course: each student will be given credentials to connect to an individual Kubernetes cluster. So all you need is a computer with a SSH client.

Day One

Kubernetes concepts

  • What’s an orchestrator?
  • From pods to containers
  • The control plane
  • Declarative vs imperative models
  • Kubernetes networking overview

First contact with a Kubernetes cluster

  • Getting familiar with kubectl
  • Understanding deployments, replica sets, pods
  • Listing and inspecting existing resources
  • Running our first containers

Service discovery and load balancing

  • Accessing pods through services
  • Service types: ClusterIP, NodePort, LoadBalancer
  • Headless services
  • Using DNS for service discovery

Build, ship, and run a microservices app

  • Creating deployments
  • Exposing deployments internally and externally
  • Scaling and load balancing
  • Mitigating update impact with rolling deploys

Advanced deployment patterns

  • Dynamically update load balancer backends with labels
  • Traffic engineering with selectors and labels
  • Adjusting rollout speed and resource usage

Using YAML to define resources

  • Generating and exporting resource YAML
  • Update the cluster state by editing YAML specs
  • Use case: creating a Daemon Set from a Deployment
  • Knowing the gotchas of YAML
  • Resources generating more resources with templates

Operating a Kubernetes cluster

  • Installation options
  • Accessing application logs
  • Centralizing logs
  • Collecting metrics
  • The Kubernetes dashboard

Day Two

Deploying multiple apps side by side

  • Using namespaces
  • Deploying multiple instances of the same app

Managing app complexity

  • Review of app configuration mechanisms
  • Managing app configuration with config maps
  • Managing sensitive information with secrets

Packaging and deploying to multiple environments

  • Kustomize
  • Helm and Helm Charts

Security

  • Authentication and Authorization in Kubernetes
  • Authentication with certificates and tokens
  • Authorization with Role-Based Access Control
  • Granting specific permissions to Service Accounts
  • Isolating components with Network Policies

Productivity tricks

  • Managing access to multiple clusters
  • Securely accessing internal services

The “ingress” resource

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

Deploying stateful applications

  • Declaring and using persistent volumes
  • Abstracting storage systems with persistent volume claims
  • Scaling or replication with stateful sets
  • Deploying resilient stateful applications

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. He moved to California to build and scale the dotCloud PaaS, which eventually gave birth to Docker. He worked at Docker for seven years, during which 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. Best Price ends <span class="noWrap"> 2 August</span>

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)

    Contact us

    confreg@oreilly.com

    For conference registration information and customer service

    partners@oreilly.com

    For more information on community discounts and trade opportunities with O’Reilly conferences

    velocity@oreilly.com

    For information on exhibiting or sponsoring a conference

    Contact list

    View a complete list of Velocity Conference contacts