kubernetes-training

Container

Images vs. Container

Container orchestration

Kubernetes Advantages

Kubernetes Architectures

  1. Nodes
    • A node is a machine – physical or virtual – on which kubernetes is installed. A node is a worker machine and this is were containers will be launched by kubernetes.
  2. Cluster
    • A set of nodes group together
  3. Mater
    • The master is another node with Kubernetes installed in it, and is configured as a Master.
    • watches over the nodes in the cluster and is responsible for the actual orchestration of containers on the worker nodes.

Components

![[20240619180557.png]]

  1. API server: acts as the front-end for kubernetes. The users, management devices, Command line interfaces all talk to the API server to interact with the kubernetes cluster.

  2. ETCD: distributed reliable key-value store used by kubernetes to store all data used to manage the cluster.
    • Etcd stores all that information on all the nodes in the cluster in a distributed manner
    • ETCD is responsible for implementing locks within the cluster to ensure there are no conflicts between the Masters
  3. The scheduler is responsible for distributing work or containers across multiple nodes. It looks for newly created containers and assigns them to Nodes.
  4. The controllers are the brain behind orchestration. They are responsible for noticing and responding when nodes, containers or endpoints goes down
  5. The container runtime is the underlying software that is used to run containers (i.e:DOCKER)
  6. kubelet is the agent that runs on each node in the cluster. The agent is responsible for making sure that the containers are running on the nodes as expected.

Master vs Worker Nodes

Mater Worker
has the kube-apiserver where the containers (e.g: Docker) are hosted
ETCD is stored here  
Controller  
Scheduler  

kubectl

Docker vs Containerd

  1. Open Container initiative (OCI) for Container Runtime Interface
    • imagespec: standard on how image should be built
    • runtimespec: how container should be built
  2. Dockershim is born to support Docker runtime as it doens’t adhere with OCI
  3. Containerd is designed to work as CRI

Containerd