Part 0


Attendees are expected to have completed DevOps with Docker or have experience with Docker and docker-compose. In addition experience with web software is required, such as Full Stack Web Development or equivalent. To complete the exercises and examples in material attendees are required to have computers with admin/superuser priviledges.

Course material

The course material is meant to be read part by part from start to finish. To get a passing grade you have to do every exercise. There are exercises in the material placed so that you will have learned needed skills in the material before it. You should do the exercises as you go through the material. However, note that as we progress further into the course the exercises will require more googling and you should supplement your knowledge with official documentation!

The course material is written using Mac, so some instructions may lack platform specific details. Please make a pull request to the course material in case you find any mistakes or wish to add something. You can also add an "issue" through GitHub in case you find any issues with the course material. @jakousa in the telegram group also works in some quick-fix cases.

The course material is also changing be it by pull requests or large scale changes such as new sections. Check the news and upcoming page for information, upcoming changes and news.

Completing course

To complete the course you will need to do and submit all exercises in parts 1-5. There is no exam.

The total workload of the course is about 95 hours. You can find out how long it took others by peeking at the old statistics.


All exercises need to be completed to get a passing grade.

Make a repository to github and publish your solutions there in clearly ordered files / folders. If you need help publishing using git you should refer to their guide. Make sure that the repository is available to me, either by using a public repository or a private repository and adding Jakousa as a collaborator.

Most of the exercises will require you to write code and / or publish something to docker hub.

A system for detecting plagiarism is used to check exercises submitted to GitHub. If multiple students hand in the same code, the situation is handled according to the policy on plagiarism of the University of Helsinki.

When you have completed a part, use the submission application to mark your exercises. You can not edit a submission so make sure you have completed enough exercises for a part before submitting.

There are multiple exercises in each part. After you've completed all of the exercises for a part, use the submission application. Note that you can not edit a submission so mark all exercises as completed.


Course size is 5 ECTS credits. Pass/Fail grading, simply complete all exercises.


The material includes Quizzes that look like this:


Login to view the exercise

They are optional part of the course and do not affect your grading. If you wish to complete the quizzes you have to register a "TMC" account, buttons at the top of the page. Quizzes work as an easy way for us to gather feedback and improve the course.

Google Cloud Credits

In part 3 we'll use Google Kubernetes Engine. It's not free, but everyone starting with Google Cloud has $300 worth of free credits, see your options here.

Google has offered students with email addresses some Google Cloud Credits. Finnish/Open University students, you will be given a address when you register to an Open University course, this will be a task for you at the end of part 2.

If you are not eligible for a email address and you have used all $300 credits there is nothing I can do. You can complete parts 1-2 and most likely 4-5, but part 3 is required for course completion and the certificate. For the eligibility for credits check the list and link at the bottom of registration page.

Getting started


This course has a Discord group where we discuss everything about the course. Support is available almost 24/7, with discussion being in both English and Finnish.

Join our DevOps with Kubernetes Discord group:

All inappropriate, degrading or discriminating comments on the channel are prohibited and will lead to action taken against the commenter.

Installing kubectl

Kubectl is a command line tool that we'll use to communicate with our Kubernetes cluster. Install instructions

Installing k3d

We'll use k3d for practice. The Install instructions are here. The course material is written with version 5.0.0 in mind.


Did you find a mistake, issue, typo or something missing? Maybe you just thought that something was not well written and you could do better? Maybe it’s hacktoberfest? Or you want to share a link to a great blog post? Make a contribution!

Since the course is open source you can fork, edit and send a pull request. If you don’t know what forking is or how to make pull request consult the github guides. It’s okay to practice here.

If you feel like you don’t want to be part of the list of contributors you can also add an issue. Guide for making an issue in github is here.

Here is a link to the repository to find the tabs for issues and pull requests:

Experience quizz

Thank you for answering.


Login to view the exercise


Login to view the exercise