Get in Touch

Course Outline

[Day 01]

Introduction

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

Overview of Docker architecture

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

Utilizing Docker for container execution and management

  • Managing images, containers, volumes, and networks

Brief introduction to container orchestration

Installing Docker

Retrieving images from the internet

  • Sample: Apache Tomcat

Executing the container

Docker registries

  • Public versus private registries

Creating and managing Dockerfiles

Building a Docker image

Deploying a web application

  • Sample application: Java EE application server

Inter-container communication in Docker

Configuring volumes and networks in 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 API

Installing a Kubernetes cluster

Creating Kubernetes pods, volumes, and deployments

Grouping and organizing cluster resources

Service discovery and publication

Container discovery and connectivity

Deploying a web application

  • Managing application components
  • Handling database connections

Kubernetes security

  • Authentication and authorization

Advanced networking

  • Comparison of Docker and Kubernetes networking

Monitoring Kubernetes

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


[Day 03]

Scaling your Kubernetes cluster

Kubernetes infrastructure

  • Provisioning, partitioning, and networking

Constructing a high-availability cluster

  • Load balancing and service discovery

Deploying a scalable application

  • Horizontal pod autoscaling
  • Database clustering in Kubernetes

Updating applications

  • Managing releases in Kubernetes

Troubleshooting

Closing remarks

Requirements

  • Proficiency with the Linux command line
  • A foundational understanding of virtualization concepts
  • Knowledge of networking principles
  • An understanding of web application functionality

Audience

  • Software Developers
  • Architects
  • Deployment Engineers
 21 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories