Course Outline

[Day 01]

Introduction

  • Containers vs virtual machines
  • Speed and performance

Overview of Docker architecture

  • Docker and the Linux kernel
  • Docker components (Docker client, Docker daemon, images, registry, containers)

Using Docker to run and manage containers

  • Images, containers, volumes, networks

Brief overview of container orchestration

Installing Docker

Pulling an image from the internet

  • Sample: Apache Tomcat

Running the container

Docker registries

  • Public vs private

Creating and managing Dockerfiles

Building a Docker image

Deploying a web application

  • Sample application: Java EE application server

How Docker containers communicate with each other

Configuring volumes and networks in Docker

  • Linking and state


[Day 02]

Deep dive into container orchestration with Kubernetes

Overview of Kubernetes architecture

  • Pods, labels/selectors, replication controllers, services, API

Installing a Kubernetes cluster

Creating Kubernetes pods, volumes and deployments

Grouping and organizing your cluster

Discovering and publishing services

Discovering and connecting to containers

Deploying a web application

  • Handling application components
  • Handling Database connections

Kubernetes security

  • Authentication & authorization

Advanced networking

  • Docker networking vs Kubernetes networking

Monitoring Kubernetes

  • Cluster logging with Elasticsearch and fluentd
  • Container level monitoring (cAdvisor UI, Influxdb, Prometheus)


[Day 03]

Scaling your Kubernetes cluster

Infrastructure for Kubernetes

  • Provisioning, partitioning, networking

Building a high-availability cluster

  • Load balancing and service discovery

Deploying a scalable application

  • Horizontal pod autoscaling
  • Database clustering in Kubernetes

Updating your application

  • Releases in Kubernetes

Troubleshooting

Closing remarks

Requirements

  • Familiarity with the Linux command line
  • A basic understanding of virtualization concepts
  • An understanding of networking concepts
  • An understanding of how web applications work

Audience

  • Software Developers
  • Architects
  • Deployment engineers
  21 Hours
 

Testimonials (4)

Related Courses

Related Categories