Get in Touch
 Duration 21 hours

Course Outline

[Day 01]

Introduction

  • Comparison of containers and virtual machines
  • Speed and performance considerations

Overview of Docker architecture

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

Utilizing Docker for container execution and management

  • Working with images, containers, volumes, and networks

Concise overview of container orchestration

Installing Docker

Retrieving an image from the internet

  • Practical example: Apache Tomcat

Executing the container

Understanding Docker registries

  • Distinction between public and private registries

Creating and managing Dockerfiles

Building a Docker image

Deploying a web application

  • Sample application: Java EE application server

Mechanisms for communication between Docker containers

Configuring volumes and networks within Docker

  • Linking and state management


[Day 02]

In-depth exploration of container orchestration with Kubernetes

Overview of Kubernetes architecture

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

Installing a Kubernetes cluster

Creating Kubernetes pods, volumes, and deployments

Grouping and organizing cluster resources

Service discovery and publication

Discovering and connecting to containers

Deploying a web application

  • Managing application components
  • Handling Database connections

Kubernetes security practices

  • Authentication and authorization

Advanced networking concepts

  • Docker networking compared 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

Building 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 procedures

Concluding remarks

Requirements

  • Proficiency with the Linux command line
  • Fundamental knowledge of virtualization concepts
  • Understanding of networking principles
  • Familiarity with the mechanics of web applications

Audience

  • Software Developers
  • Architects
  • Deployment Engineers

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories