Course Code: dockerkubernetesscale
Duration: 21 hours
Prerequisites:
  • 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
Overview:

Docker is an open-source platform for automating the process of building, shipping and running applications inside containers. Kubernetes goes one step further by providing the tools needed to deploy and manage containerized applications at scale in a clustered environment.

In this instructor-led, live training (onsite or remote), participants will learn how to create and manage Docker containers, then deploy a sample application inside a container. Participants will also learn how to automate, scale, and manage their containerized applications within a Kubernetes cluster. Finally, the training goes on to more advanced topics, walking participants through the process of securing, scaling and monitoring a Kubernetes cluster.

By the end of this training, participants will be able to:

  • Set up and run a Docker container.
  • Deploy a containerized server and web application.
  • Build and manage Docker images.
  • Set up a Docker and Kubernetes cluster.
  • Use Kubernetes to deploy and manage a clustered web application.
  • Secure, scale and monitor a Kubernetes cluster.

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Note:

  • Apache Tomcat and a Java EE application will be used as our demo servers and applications for containerization. However, *these are subject to change*. If you would like to see a specific application or related tool or technique covered in this training, please contact us to arrange.
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

Sites Published:

United Arab Emirates - Docker and Kubernetes: Building and Scaling a Containerized Application

Qatar - Docker and Kubernetes: Building and Scaling a Containerized Application

Egypt - Docker and Kubernetes: Building and Scaling a Containerized Application

Saudi Arabia - Docker and Kubernetes: Building and Scaling a Containerized Application

South Africa - Docker and Kubernetes: Building and Scaling a Containerized Application

Brasil - Docker and Kubernetes: Building and Scaling a Containerized Application

Canada - Docker and Kubernetes: Building and Scaling a Containerized Application

中国 - Docker和Kubernetes:构建和缩放容器化应用程序

香港 - Docker and Kubernetes: Building and Scaling a Containerized Application

澳門 - Docker and Kubernetes: Building and Scaling a Containerized Application

台灣 - Docker and Kubernetes: Building and Scaling a Containerized Application

USA - Docker and Kubernetes: Building and Scaling a Containerized Application

Österreich - Docker and Kubernetes: Building and Scaling a Containerized Application

Schweiz - Docker and Kubernetes: Building and Scaling a Containerized Application

Deutschland - Docker and Kubernetes: Building and Scaling a Containerized Application

Czech Republic - Docker and Kubernetes: Building and Scaling a Containerized Application

Denmark - Docker and Kubernetes: Building and Scaling a Containerized Application

Estonia - Docker and Kubernetes: Building and Scaling a Containerized Application

Finland - Docker and Kubernetes: Building and Scaling a Containerized Application

Greece - Docker and Kubernetes: Building and Scaling a Containerized Application

Magyarország - Docker and Kubernetes: Building and Scaling a Containerized Application

Ireland - Docker and Kubernetes: Building and Scaling a Containerized Application

Luxembourg - Docker and Kubernetes: Building and Scaling a Containerized Application

Latvia - Docker and Kubernetes: Building and Scaling a Containerized Application

España - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Italia - Docker and Kubernetes: Building and Scaling a Containerized Application

Lithuania - Docker and Kubernetes: Building and Scaling a Containerized Application

Nederland - Docker and Kubernetes: Building and Scaling a Containerized Application

Norway - Docker and Kubernetes: Building and Scaling a Containerized Application

Portugal - Docker and Kubernetes: Building and Scaling a Containerized Application

România - Docker and Kubernetes: Building and Scaling a Containerized Application

Sverige - Docker and Kubernetes: Building and Scaling a Containerized Application

Türkiye - Docker and Kubernetes: Building and Scaling a Containerized Application

Malta - Docker and Kubernetes: Building and Scaling a Containerized Application

Belgique - Docker and Kubernetes: Building and Scaling a Containerized Application

France - Docker and Kubernetes: Building and Scaling a Containerized Application

日本 - Docker and Kubernetes: Building and Scaling a Containerized Application

Australia - Docker and Kubernetes: Building and Scaling a Containerized Application

Malaysia - Docker and Kubernetes: Building and Scaling a Containerized Application

New Zealand - Docker and Kubernetes: Building and Scaling a Containerized Application

Philippines - Docker and Kubernetes: Building and Scaling a Containerized Application

Singapore - Docker and Kubernetes: Building and Scaling a Containerized Application

Thailand - Docker and Kubernetes: Building and Scaling a Containerized Application

Vietnam - Docker and Kubernetes: Building and Scaling a Containerized Application

India - Docker and Kubernetes: Building and Scaling a Containerized Application

Argentina - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Chile - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Costa Rica - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Ecuador - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Guatemala - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Colombia - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

México - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Panama - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Peru - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Uruguay - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Venezuela - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Polska - Docker and Kubernetes: Building and Scaling a Containerized Application

United Kingdom - Docker and Kubernetes: Building and Scaling a Containerized Application

South Korea - Docker and Kubernetes: Building and Scaling a Containerized Application

Pakistan - Docker and Kubernetes: Building and Scaling a Containerized Application

Sri Lanka - Docker and Kubernetes: Building and Scaling a Containerized Application

Bulgaria - Docker and Kubernetes: Building and Scaling a Containerized Application

Bolivia - Docker y Kubernetes: creación y ampliación de una aplicación en contenedores

Indonesia - Docker and Kubernetes: Building and Scaling a Containerized Application

Kazakhstan - Docker and Kubernetes: Building and Scaling a Containerized Application

Moldova - Docker and Kubernetes: Building and Scaling a Containerized Application

Morocco - Docker and Kubernetes: Building and Scaling a Containerized Application

Tunisia - Docker and Kubernetes: Building and Scaling a Containerized Application

Kuwait - Docker and Kubernetes: Building and Scaling a Containerized Application

Oman - Docker and Kubernetes: Building and Scaling a Containerized Application

Slovakia - Docker and Kubernetes: Building and Scaling a Containerized Application

Kenya - Docker and Kubernetes: Building and Scaling a Containerized Application

Nigeria - Docker and Kubernetes: Building and Scaling a Containerized Application

Botswana - Docker and Kubernetes: Building and Scaling a Containerized Application

Slovenia - Docker and Kubernetes: Building and Scaling a Containerized Application

Croatia - Docker and Kubernetes: Building and Scaling a Containerized Application

Serbia - Docker and Kubernetes: Building and Scaling a Containerized Application

Bhutan - Docker and Kubernetes: Building and Scaling a Containerized Application

Nepal - Docker and Kubernetes: Building and Scaling a Containerized Application

Uzbekistan - Docker and Kubernetes: Building and Scaling a Containerized Application