Kubernetes, from zero to hero

A quick introduction, my name is Maxim Rudenko. I am a student at the PXL University of Applied Sciences and Arts. I am currently majoring in Applied Informatics, specifically in the systems and networking branch. 

The reason that I am writing this blog is that I just started my internship at JIDOKA. Through this blog I will be documenting all of my adventures, ups and downs and experiences that I have gathered during my internship. My internship will be mainly focused about the DevOps topic. Hopefully you now have a little idea about the direction of this blog.

The 30th of September will always be remembered as the start of this tale. My first day of my internship at JIDOKA became a reality. First impressions were already great, with a friendly welcome and a pile of goodies I was set for a good start. I got a quick introduction with my mentor, Jan Eerdekens. Jan will be supervising me and giving me general advice and help throughout my internship. In other words, he will act as the Obi-Wan Kenobi in this adventure while I will be Luke Skywalker trying my best to become the DevOps Jedi. 

The main goal of this internship will be to configure a system that will automatically take successfully build application images from a repository and deploy them on a Kubernetes cloud. For many readers this might sound as gibberish but I will try my best to explain it.

Basically, JIDOKA creates many applications and other projects for their clients. These applications all go through an automated system where they get build and exposed to a variety of tests to make sure that they are not broken before they get stored in a repository. This whole process is called a pipeline.

My task will be to configure a system that takes these images and puts them on the cloud where they will be working and managed by a specific piece of software called Kubernetes. Kubernetes is an open-source system for automating deployment, scaling and management of containerized applications.

Before I can begin this task, I need to become acquainted with the pipelines that are already in place as I will be needing to extend and work on them. Jan took the opportunity to give me a tour of the pipeline setup. Whilst he was explaining the workflow of the setup, I was trying to understand as much as possible of his explanation. My first impressions were that this looked as complicated as the construction of the Eiffel Tower. With all of this overwhelming information I started to explore my way through the setup. Slowly but surely I started to understand the inner workings of this monster. At the end of the day I actually managed to get the starting piece of the application working on my laptop. This means that the next couple of days I can start to work on implementing the software on my Kubernetes cluster.

With every day that goes by, I manage to implement a little piece of the application on the Kubernetes cluster of my laptop. At the end of the week I had a Spring boot application connected to a Postgres database that was running without any problems on my Kubernetes Cluster. I had also took the first steps of deploying an Elasticsearch service on the cluster as well. This service will take care of collecting all of the logs that my Kubernetes pods generate. To put this in simple terms, I managed to put a working piece of the application in a Kubernetes cluster. What seemed as a scary start to the week, ended with at least some progress on this whole project. 

Before the start of the weekend, my 2 mentors wanted to have a quick look of my accomplishments so far. Did I forget to mention that I have 2 mentors? My 2nd mentor is Bjorn Monnens. Bjorn is the CTO of the company and like Jan possesses a great amount of knowledge of everything that has to do with DevOps and Cloud solutions. He will act as Yoda in this story. After I explained everything that I got working on my Kubernetes cluster, Jan and Bjorn gave me further tips to improve the system and my way of working. 

Overall I think I had a good start to this project. With the guidelines that I received I was armed to begin the next weeks.