Kubernetes Basics for Beginners
Let's learn the absolute basics of Kubernetes for Web developers
What is Kubernetes?
Kubernetes is a orchestration tool for microservices. It helps to scale the services according to the need of the users.
To manage the cloud native microservices we have to make sure some things
- Scale on demand
- Self-heal
- Support zero-downtime rolling updates
- Run anywhere
And Kubernetes provides all of them. It is called the OS of the cloud. What that means is you don't have to worry which service you are using underneath. This can be AWS or Linode. You can just swap out the underlying architecture if you use Kubernetes.
That's why it's so popular and powerful.
Cluster and Nodes
A Kubernetes cluster is a collection of machines that have kubernetes installed. The machines can be a computer, a VM, a raspberry PI and so on.
We can install kubernetes on the machines and connecting them creates a Kubernetes cluster. And each of the machines are called Nodes
Master and Worker
There are 2 kinds of nodes.
- Master nodes (Masters)
- Worker nodes (Nodes)
Masters
Masters host the control pane and Nodes host user applications. You want to maintain high availability for the master nodes.
Workers
The Nodes (aka Workers) run 2 main services.
- Kubelet
- Container runtime
Kubelet
the kubelet is the main kubernetes agent. It communicates with the control pane.
Hosted Kubernetes services
There are many kubernetes services but Linode offers the easiest way to manage them. So we will create a kubernetes cluster with 2 worker nodes on Linode