fbpx

Building a Kubernetes Examination Platform

Share on facebook
Share on twitter
Share on linkedin
What is Kubernetes? How do you start with Docker and Containerisation? Our Intern had to find this all out in short notice so you don't have to.

SpotOps Internship: Create an interactive learning platform for Kubernetes Engineers.

Brend Simons started as an intern but quickly rose up in rank and became known as the Kubernetes prodigy.

Whilst KataCoda is pretty cool to get started with learning how Kubernetes works, we still felt a need to create a custom examination platform. Not only to improve our own skills but also to use it for job interviews or internal (fun) challenges. So Brend’s assignment was to build “SpotOps”: an interactive learning platform for Kubernetes Engineers.

In a previous update, we saw that our very own Kubernetes experts were becoming quite impressed at the progress Brend was booking during his internship so we’re going to just let him explain it himself.

Brend delivering a demo of SpotOps: an interactive (browser-based) Kubernetes Examination platform. (With Subtitles!)

What you’ll see in the demo video

  1. Logging in as a user (00:12)
  2. Admin board & Challenge overview (00:21)
  3. Editing a Challenge (00:35)
  4. Completing a challenge (07:40)
  5. Leaderboard (10:00)
  6. Google Compute Engine Instances (10:35)

What is Kubernetes?

Official definition of Kubernetes

The official definition of Kubernetes goes as follows:

Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation

kubernetes.io

ToThePoint definition of Kubernetes

A more ToThePoint variation would go: “Kubernetes is a technology that is mostly used by operations people to shoot docker containers into the cloud.”

What is K8S?

Basically, K8S is short for Kubernetes. Developers are notoriously lazy (or efficient ?) so they abbreviated it.

Developers are lazy and somewhere in the mid-late 80s they started abbreviating the words based on their first letter, last letter, and number of letters in between.

Why Kubernetes is abbreviated K8S Justin Garrison

What is an example for using Kubernetes in layman’s terms?

Let’s imagine being at the supermarket between 5 and 6 PM in the evening and it’s REALLY busy and there is only 1 cashier… Things will be really slow, you can already tell.

What could possibly solve this situation? A second cashier? A third? 5 more? YES!

MOAR meme with bird
MOAR CASHIERS PLS!

It’s as easy as that. This is how Kubernetes fixes this problem! When there are too many requests (people in the supermarket)Kubernetes (the store manager) will just assign more containers, doing the same work (cashiers), to handle the load.

What are some benefits in using Kubernetes?

The greatest value for any developer lies in the automation possibilities. You can automate everything. Which means you’ll save time and money and greatly reduce time to market. So to remain in our layman’s example: automatically assign more cashiers to handle the busy lines in the supermarket.

  1. Scalability: Automatically assign more resources when needed.
  2. Platform independence: Avoid vendor Lock-in from the start.
  3. Automation:
    • Automated deployments
    • Automated Scaling
    • Automate Fault Tolerance
? READ: How to avoid vendor Lock-in with Kubernetes ?

What is Docker? In layman’s terms.

Docker is a “platform for digital transformation“. It greatly reduces time to market for your new solutions and it is very helpful when you are thinking about installing a DevOps culture. Also, it is way cheaper to use than building your own servers or using a virtual machine.

Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package.

Yann Mulonda explains the Docker origin very good in his blog: What is Docker in simple english.

How does Docker differ from VM’s?

A Virtual Machine (VM) is simply a cloud-hosted server. You run your application and its components on a virtual machine. You only pay for what you use. In essence, Docker helps you package up your application in containers and in doing so can help you lower your usage. Containerization enables you to define shared resources so there is less stuff to run simultaneously. Thus, Docker makes it cheaper to run your app.

container runs natively on Linux and shares the kernel of the host machine with other containers. It runs a discrete process, taking no more memory than any other executable, making it lightweight.

By contrast, a virtual machine (VM) runs a full-blown “guest” operating system with virtual access to host resources through a hypervisor. In general, VMs provide an environment with more resources than most applications need.

Get Started With Docker: https://docs.docker.com/get-started/

Where do I start if I want to learn Kubernetes?

At ToThePoint we all used KataCoda. KataCoda offers browser-based scenarios so no downloads are required.

After finishing all scenarios in KataCoda you can aim for the Certified Kubernetes Administrator (CKA) Program. This one is created by the Cloud Native Computing Foundation (CNCF) which is the provider of the most credible Kubernetes certification to date.

Interesting links:
KataCoda ?
Instruqt ?
Codecademy ?
Lynda ?
CKA Program ?
KCSP Program ?

Which institute gives Docker and Kubernetes online training?

How to get started with containerization?

Your one stop shop is Docker Documentation: https://docs.docker.com/get-started/

  1. Set up your Docker environment
  2. Build an image and run it as one container
  3. Scale your app to run multiple containers
  4. Distribute your app across a cluster
  5. Stack services by adding a backend database
  6. Deploy your app to production

Which tutorial should I Follow to start working on Kubernetes?

Where can I learn a Kubernetes course?

Free Courses for Kubernetes:

  • Instruqt: Open Learning Platform for IT. Focused on DevOps, Cloud and Data.
  • KataCoda: Learn Kubernetes using Interactive Browser-Based Scenarios

Paid courses for Docker and Kubernetes:



 Hire a cloud engineer from OnTheSpot 
Download your FREE devops ignition guide 

ToThePoint

Leave a Reply

Facebook
Twitter
LinkedIn