The Kubernetes workshop

Last week I attend a Kubernetes workshop that was organized by the Belgian Docker meetup group. The Kubernetes workshop was lead by Benjamin Henrion. The course material can be found on his website.

Kubernetes

In case you wonder what Kubernetes is. Here’s the definition:

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

It’s a way to schedule and orchestrate containers on a cluster of servers. The main use case is Docker, but Kubernetes also supports other containers engines.

VLOG 1: the Kubernetes workshop

I recorded a vlog episode that features the event, but that also showcases a sample application. So it’s part trip report, part tutorial. Check out the footage for the Kubernetes workshop in Gent:

FYI: the tutorial part starts at 3:46.

The sample application

The Hello NodeJS sample application was part of Benjamin’s workshop. Since I talk about it in the video, I decided to upload the code to Github.

Here’s a gist containing the necessary files:

In short here’s what every file does:

  • server.js: the NodeJS server
  • Dockerfile: defines the container image in which the NodeJS server is included.
  • hello_nodejs_deployment.yml: defines the pods that will run the container
  • hello_nodejs_service.yml: defines the service that will expose the pods as a single endpoint to the outside world
  • run.sh: a bash script that calls the necessary commands and that builds the container image, schedules the container deployment, exposes the service and runs the service.

Learn more?

Want to learn more? Go to the Kubernetes website to read the docs. First I would advise you to read about the core concepts before eventually reading the full documentation.

There’s an interactive tutorial on the Kubernetes website that takes you on a journey to learn Kubernetes.