Everyone is talking about kubernetes. Every time I visit medium website or read newsletter in my emails, even in google articles recomendations.
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 👏.
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.
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.
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.
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.
Top comments (0)