Course Outline
[Day 01]
Introduction
- Containers vs virtual machines
- Speed and performance
Overview of Docker architecture
- Docker and the Linux kernel
- Docker components (Docker client, Docker daemon, images, registry, containers)
Using Docker to run and manage containers
- Images, containers, volumes, networks
Brief overview of container orchestration
Installing Docker
Pulling an image from the internet
- Sample: Apache Tomcat
Running the container
Docker registries
- Public vs private
Creating and managing Dockerfiles
Building a Docker image
Deploying a web application
- Sample application: Java EE application server
How Docker containers communicate with each other
Configuring volumes and networks in Docker
- Linking and state
[Day 02]
Deep dive into container orchestration with Kubernetes
Overview of Kubernetes architecture
- Pods, labels/selectors, replication controllers, services, API
Installing a Kubernetes cluster
Creating Kubernetes pods, volumes and deployments
Grouping and organizing your cluster
Discovering and publishing services
Discovering and connecting to containers
Deploying a web application
- Handling application components
- Handling Database connections
Kubernetes security
- Authentication & authorization
Advanced networking
- Docker networking vs Kubernetes networking
Monitoring Kubernetes
- Cluster logging with Elasticsearch and fluentd
- Container level monitoring (cAdvisor UI, Influxdb, Prometheus)
[Day 03]
Scaling your Kubernetes cluster
Infrastructure for Kubernetes
- Provisioning, partitioning, networking
Building a high-availability cluster
- Load balancing and service discovery
Deploying a scalable application
- Horizontal pod autoscaling
- Database clustering in Kubernetes
Updating your application
- Releases in Kubernetes
Troubleshooting
Closing remarks
Requirements
- Familiarity with the Linux command line
- A basic understanding of virtualization concepts
- An understanding of networking concepts
- An understanding of how web applications work
Audience
- Software Developers
- Architects
- Deployment engineers
Testimonials
It is an in-deep Kubernetes training covering all important aspects to manage Kubernetes, be it in the cloud or on-premise, but the pace is gradual and well adjusted, so the training can be followed very well by students who have had no prior exposure to Kubernetes, as it builds up knowledge from the ground up.
Volker Kerkhoff
That it was well structured and I managed to fill some gaps in my knowledge.
Javier Caro Ruiz
I liked the provided infrastructure for the exercises.
RGT DESARROLLO INFORMATICO S.L.
I genuinely liked the good agenda.
RGT DESARROLLO INFORMATICO S.L.
I enjoyed the one-on-one training. I could greatly influence the topics, speed, pauses, etc. Great.
Andre Vink
Step by step learning of the material
Waruzjan Shahbazian - SmartDocuments Nederland BV
the exercises that were demanding
David Martin Edwards - Mixplay S.A.
The dynamism and that had a lot of practice to apply the knowledge
Diego Fernando Espinola - Mixplay S.A.
Very well prepared exercises.
- Erlang Solutions Sp. z o.o.
that it was based entirely on the examples that the coach did live on his computer
- Erlang Solutions Sp. z o.o.
The trainer's willingness to definitely solve questions and concerns from multiple perspectives.
- Giesecke+Devrient Mobile Security Iberia S.A.
It has completely exceeded my expectations. The concepts are clearly explained, great!.
- Giesecke+Devrient Mobile Security Iberia S.A.
Space for discussing the scope of training in the context of our application.
Michał Piotrowski - Erlang Solutions Sp. z o.o.
Knowledge leading to the technology presented.
- Erlang Solutions Sp. z o.o.
I generally enjoyed the exercises.
- Aboitiz Power Corporation
The trainer's way to explain the subject and who to make the concept very simple.