Skip to main content

Containerization and Orchestration with Docker & Kubernetes (3 cr)

Code: TX00FJ36-3001

General information


Enrollment

02.05.2023 - 11.08.2023

Timing

14.08.2023 - 18.08.2023

Number of ECTS credits allocated

3 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Leiritie 1

Teaching languages

  • English

Seats

0 - 24

Degree programmes

  • Degree Programme in Information Technology

Teachers

  • Esli Heyvaert

Groups

  • ICTSUMMER
    ICT Summer School

Objective

In this course you will learn the basics about containerization and orchestration. You might already have heard about topics such as virtualization (virtual machines), dependency hell, virtual environments (venv), microservices, DevOps, … We will see how containers can solve these kinds of challenges.

After learning about the basics, you will deep dive into the Docker ecosystem. Together we will write a container build file, namely a Dockerfile. You will also learn how to optimize such files. Combining multiple containers (called services) is something which we can do with Docker Compose. And last but not least, if you want to deploy containers on a large scale: Kubernetes is what you need.

Content

We always start with somewhat theoretical background, so you know what’s happening and why we do it the way we do. To bring things into practice, there will be a lot of hands-on exercises!

• Introduction to containers: what is it, architecture and problems solved by containers.
• Docker:
o Why is it popular? The eco-system explained in detail.
o Under the hood: namespaces and cgroups, how is the kernel shared?
o Differences between virtualization and containerization.
o Images, images layers, building containers (Dockerfiles), optimizations, …
o How to interact with containers?
• Docker Compose:
o Why do we need this extra layer?
o The core components and some best practices.
o Combining multiple services.
• Kubernetes:
o The absolute basics!
o The building blocks to set-up a scalable orchestration platform

Further information

Please bring your own laptop.

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

participating in all the sessions, completing all the exercises on time.

Assessment criteria, good (3)

being able to solve more complex problems without much assistance.

Assessment criteria, excellent (5)

finishing the extra exercises.

Assessment criteria, approved/failed

participating in all the sessions, completing all the exercises on time.

Prerequisites

You need at least some basic IT skills; you should know the absolute basics about networking and programming. Knowing Python and being familiar with the Linux command line is a plus.