Get in Touch
 Duration 21 hours

Course Outline

[Day 01]

Introduction

  • Containers compared to virtual machines
  • Speed and performance considerations

Overview of Docker architecture

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

Utilizing Docker to execute and manage containers

  • Images, containers, volumes, and networks

Brief introduction to container orchestration

Installing Docker

Retrieving an image from the internet

  • Example: Apache Tomcat

Executing the container

Docker registries

  • Public versus private registries

Creating and maintaining Dockerfiles

Constructing a Docker image

Deploying a web application

  • Sample application: Java EE application server

Communication mechanisms between Docker containers

Configuring volumes and networks in Docker

  • Linking and state management


[Day 02]

In-depth exploration of container orchestration using Kubernetes

Overview of Kubernetes architecture

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

Installing a Kubernetes cluster

Creating Kubernetes pods, volumes, and deployments

Organizing and grouping the cluster

Service discovery and publication

Container discovery and connectivity

Deploying a web application

  • Managing application components
  • Handling Database connections

Kubernetes security

  • Authentication & authorization

Advanced networking

  • Comparing Docker networking with Kubernetes networking

Monitoring Kubernetes

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


[Day 03]

Scaling your Kubernetes cluster

Infrastructure requirements for Kubernetes

  • Provisioning, partitioning, and networking

Constructing a high-availability cluster

  • Load balancing and service discovery

Deploying a scalable application

  • Horizontal pod autoscaling
  • Database clustering within Kubernetes

Application updates

  • Managing releases in Kubernetes

Troubleshooting

Closing remarks

Requirements

  • Proficiency with the Linux command line
  • Foundational knowledge of virtualization concepts
  • Understanding of networking principles
  • Comprehension of web application mechanics

Target Audience

  • Software Developers
  • Architects
  • Deployment engineers

Number of participants


Price per participant (excl. VAT)

Testimonials (7)

Upcoming Courses

Related Categories