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
Testimonials (7)
Hands on exercises
Tobias - Elisa Polystar
Course - Docker and Kubernetes: Building and Scaling a Containerized Application
The trainer was very knowledgeable and pedagogical! Five thumbs! Answered all questions and helped with exercises that I have not feel any stress to be late with them :-)
Alexandre - Elisa Polystar
Course - Docker and Kubernetes: Building and Scaling a Containerized Application
The teacher has a very knowledge about the topic, and he ask us about any new topic or understand and learn. The exercises were very useful. thanks.
Guillermo Saenz - Elisa Polystar
Course - Docker and Kubernetes: Building and Scaling a Containerized Application
The trainer's way to explain the subject and who to make the concept very simple.
Faten AlDawish - TAMKEEN TECHNOLOGIES COMPANY
Course - Docker and Kubernetes: Building and Scaling a Containerized Application
Step by step learning of the material
Waruzjan Shahbazian - SmartDocuments Nederland BV
Course - Docker and Kubernetes: Building and Scaling a Containerized Application
I enjoyed the one-on-one training. I could greatly influence the topics, speed, pauses, etc. Great.
Andre Vink
Course - Docker and Kubernetes: Building and Scaling a Containerized Application
That it was well structured and I managed to fill some gaps in my knowledge.