Course Outline
[Day 01]
Introduction
- Containers compared to virtual machines.
- Speed and performance considerations.
Docker architecture overview.
- Docker’s interaction with the Linux kernel.
- Key Docker components: client, daemon, images, registry, and containers.
Utilizing Docker to run and manage containers.
- Working with images, containers, volumes, and networks.
Brief overview of container orchestration.
Installing Docker.
Pulling an image from the internet.
- Sample: Apache Tomcat.
Executing the container.
Docker registries.
- Public vs. private registries.
Creating and managing Dockerfiles.
Building a Docker image.
Deploying a web application.
- Sample application: Java EE application server.
Inter-communication between Docker containers.
Configuring volumes and networks in Docker.
- Linking and state management.
[Day 02]
In-depth exploration of container orchestration with Kubernetes.
Kubernetes architecture overview.
- Pods, labels/selectors, replication controllers, services, and API.
Installing a Kubernetes cluster.
Creating Kubernetes pods, volumes, and deployments.
Grouping and organizing the cluster.
Service discovery and publication.
Discovering and connecting to containers.
Deploying a web application.
- Managing application components.
- Managing database connections.
Kubernetes security.
- Authentication and authorization.
Advanced networking.
- Comparing Docker networking with Kubernetes networking.
Monitoring Kubernetes.
- Cluster logging using Elasticsearch and fluentd.
- Container-level monitoring via cAdvisor UI, Influxdb, and Prometheus.
[Day 03]
Scaling your Kubernetes cluster.
Infrastructure 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.
Updating your application.
- Releases in Kubernetes.
Troubleshooting.
Closing remarks.
Requirements
- Proficiency with the Linux command line.
- A foundational understanding of virtualization concepts.
- A solid grasp of networking principles.
- An understanding of web application architecture and behavior.
Target 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.