From Tatooine

My first steps with kubernetes

January 5, 2020 • 🤔 3 min read
Tags: kubernetes, devops

Everyone is talking about kubernetes. Every time I visit medium website or read newsletter in my emails, even in google articles recomendations.

kubernetes everywhere

Let me share with you a little of what I’ve learnt.

But what is it?

Kubernetes is a container orchestration manager engine. It’s a great solution to manage application abstracting monitoring complexity. And the best part: it’s fully open source 👏.

kubernetes logo Image by GeekHunter

In other words, you don’t have to worry about application monitoring, scale and restart, this is a kubernetes job.

Originally created by Google, was donated to community in 2015, so you can use it freely.

What is the proposal?

The main proposal is easily go from development to production, ready for scale and monitor application state.

Thus the developer doesn’t need to worry about infrastructure, but the app’s integration, and for devops team we have same environment in development, staging and production.

kubernetes proposal Image by confluence

It also provide a better conversation between devs and devops, since they now use the same tool. 🤜🤛

Why do I need to learn it?

Kubernetes is a great patter for application deployment and management and it’s getting big part of the market today. Being able to work with it makes you ahead both as developer or a  devops.

Take a look at this chart bellow 👇 from 2017.

Kubernetes adoption Image by The New Stack

Kubernetes architecture basics

Kubernetes follows a client-server architecture. It consists in a cluster, compound of a master machine wich control other node machines.

Kubernetes architecture

I found these definitions bellow in kubernetes docs.

Cluster

A cluster is a set of machines, called nodes, that run containerized applications managed by Kubernetes. A cluster has at least one worker node and at least one master node.

Master node

Master, in turn, is a machine that controls Kubernetes nodes. This is where all task assignments in the cluster originate.

Other nodes

A node is a worker machine in Kubernetes. A node may be a VM or physical machine. Each node contains the services necessary to run pods and is managed by the master components.

Pod

A Pod represents processes running on your Cluster. A Pod encapsulates an application’s container (or, in some cases, multiple containers), storage resources, a unique network IP, and options that govern how the container(s) should run.

Phew!! 😰 Take a time to dominate theses concepts. They are main basics of kubernetes.

Next steps?

The best way to learn anything is getting your hands dirty 😬.

You can start by reading the kubernetes official website docs here, wich is very good.

In theses tutorial you’ll be using minikube tool to test it locally. You can also use a google cloud free trial to test kubernetes platform in a online server.

Good luck 🖖 and have great studies 💻.

Let me known if I can help you with anything. I’m learning too 😅.

Thanks for reading.