Kubernetes and Docker

© Elephant Scale

January 13, 2020

Overview

Containerization has taken the IT world by storm, in the last few years. Large software houses, starting from Google and Amazon, are running significant portions of their production load in containers.

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.

This course introduces the students to containers in general, then continues with Kubernetes, its architecture, its use in production, and its best practices.

Duration

3 days

Audience

Developers/Architects

Format

50% lectures, 50% hands-on-labs

Pre-requisites

  • Comfortable with Linux and command-line operations
  • Familiar with software development

Lab environment

Zero Install: There is no need to install any software on students’ machines! (although it is possible)

Detailed Outline

Container Fundamentals (prerequisite, will be covered if needed)

  • Docker Overview
  • Docker Operations
  • Docker use cases
  • CLI tools
  • Health checks
  • Labs

Kubernetes Specific Curriculum

  • Container Review
  • Orchestration
  • Kubernetes Architecture
  • Pods and Configs
  • Deployments and Replica Sets
  • Autoscaling
  • Services and Networking
  • Managing State
  • Labs

Overview of the following concepts for Kubernetes

  • Kubernetes Design Patterns and Stateful Sets
  • Inside Services and Load Balancing
  • DNS and Service Discovery
  • Kubernetes in the Cloud and SDN
  • Labs

Stateful Applications and Kubernetes

  • Storing the state of an application
  • NoSQL overview
  • etcd, a distributed key-value store
  • Setup, administration, deployment
  • etcd, the primary Kubernetes datastore
  • etcd security and backup

Automating Kubernetes Deployments with Terraform

  • Automating Infrastructure deployment
  • Introducing Terraform
  • Terraform and Kubernetes
  • Vendor-Neutral Cloud deployments with Terraform

 

What You Will Learn

  • Learn one of the hottest software deployment environment
  • Docker and Kubernetes concepts and architecture
  • Be able to orchestrate Docker containers with Kubernetes
  • Master practical Kubernetes applications