O'Reilly logo
live online training icon Live Online training

Containers A-Z

An overview of containers, Docker, Kubernetes, Istio, Helm, Kubernetes Operators, and GitOps

Topic: System Administration
Brent Laster

A container is a software unit that packages up code, dependencies, configuration, and environments as a self-contained application. Containers provide the benefits of being portable and running with minimal overhead across different computing platforms, but getting started can be overwhelming, as you struggle to understand all of the related technologies and how to make the best use of them.

Join expert Brent Laster for a survey of the most common technologies around containers and everything you need to know to use them efficiently in a cloud environment. You’ll learn key terms, concepts, and functionality for Docker, Kubernetes, Helm, Istio, and Kubernetes Operators as you work through basic hands-on exercises that show you how to leverage them for typical applications. Along the way, you’ll discover how to use these technologies in a cloud environment to simplify your release and deployment processes.

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

By the end of this live online course, you’ll understand:

  • The basic terminology, functions, and use cases for containers, Docker, Kubernetes, Helm, Istio, and Kubernetes Operators
  • How these technologies can be applied to a simple example application
  • How these technologies fit within a cloud-first strategy

And you’ll be able to:

  • Explain core concepts and terms associated with containers, Docker, Kubernetes, Helm, Istio, and Kubernetes Operators and apply each of these technologies to a sample application
  • Execute and examine a sample application with each of these technologies

This training course is for you because...

This course is for you because…

  • You’re an IT professional who needs to understand how to use containers in the cloud.
  • You want to be well-versed in the current industry-standard technologies around containers.
  • You want to learn how to make apps function in a container ecosystem.

Prerequisites

  • Familiarity with basic computer systems, programming, and the cloud
  • A machine with VirtualBox installed

Recommended preparation:

Recommended follow-up:

About your instructor

  • Brent Laster is a global trainer, author, and speaker on open source technologies as well as an R&D director at a top technology company. He’s been involved in the software industry for more than 25 years, holding various technical and management positions. Brent has always tried to make time to learn and develop both technical and leadership skills and share them with others. He believes that regardless of the topic or technology, there’s no substitute for the excitement and sense of potential that come from providing others with the knowledge they need to accomplish their goals.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Day 1

Containers, images, and Docker (40 minutes)

  • Lecture: Basic concepts, intents, and functionality around containers, images, and Docker
  • Hands-on exercise: Building Docker images

Using multiple containers together (20 minutes)

  • Lecture: How to use Docker to create and run containers; how to leverage Docker Compose to run containers together
  • Hands-on exercise: Run images together

Break (5 minutes)

Naming and storing images (20 minutes)

  • Lecture: How to tag Docker images; Docker registry basics for storing images; commands to use with images and registries; differences between public and private and secure and insecure registries
  • Hands-on exercise: Tag and push images

Surveying Kubernetes: Part 1 (45 minutes)

  • Lecture: Overview of Kubernetes and how it uses Docker images; the architecture of a cluster, the command-line interface, and the major types of objects used in a cluster; the basic YAML file format for specifying Kubernetes objects
  • Hands-on exercise: Explore and deploy Kubernetes

Break (5 minutes)

Surveying Kubernetes: Part 2 (35 minutes)

  • Lecture: Key objects and functionalities, including secrets, configmaps, ports, and persistent storage, and how they are used in a Kubernetes environment
  • Hands-on exercise: Leverage additional Kubernetes objects

Wrap-up and Q&A (10 minutes)

Day 2

Review of key concepts (10 minutes)

  • Helm basics and deploying charts (35 minutes)
  • Lecture: Overview of basic Helm commands
  • Hands-on exercise: Working with Helm

Managing application releases in a cluster (20 minutes)

  • Lecture: How to use Helm to get the history of releases in Kubernetes; how to upgrade to a new release and roll back to a previous release
  • Hands-on exercise: Upgrade to new versions of an app in Kubernetes and use Helm to switch between previous releases

Break (5 minutes)

Istio (35 minutes)

  • Lecture: Overview of Istio and service meshes; how Istio can leverage Kubernetes objects
  • Hands-on exercise: Use Istio with a Kubernetes cluster

Kubernetes Operators (30 minutes)

  • Lecture: How to create and use Operators in Kubernetes; Kubernetes role-based access controls (RBAC) for providing access for Operators to work
  • Hands-on exercise: Deploy a custom resource definition and a related Kubernetes Operator

Break (5 minutes)

Monitoring (20 minutes)

  • Lecture: Tools to gather and visualize information about Kubernetes clusters and objects
  • Hands-on exercise: Launch and explore the Kubernetes dashboard, Prometheus, and Grafana

GitOps (10 minutes)

  • Lecture: How to use GitOps to better manage the cluster and the lifecycle of objects in the cluster

Wrap-up and Q&A (10 minutes)