pvdocs /KCNA/Kubernetes Fundamentals

Containers

Hardware Infrastructure -> OS -> Docker -> Multiple containers (Libs + Dependencies + Applications)

Containerization

Docker Repository store images that we can use a simple docker run redis to run the container.

Container vs Image

Container Ochestration

Kubernetes is a container orchestration technology that manages and deploys thousands of containers in a cluster.

Kubernetes Architecture

Workers Nodes Vs Master Node

Components

Master Nodes

Workers Nodes

Docker vs ContainerD

Container Runtime Interface (CRI) is a standardized plugin API layer that allows the Kubernetes node agent (kubelet) to communicate with different container runtimes without needing to recompile cluster components. It acts as a universal translator.

[ Kubelet ] 
     │ (via gRPC / CRI API)
     ▼
[ CRI Runtime Daemon ] (e.g., containerd, CRI-O)
     │ (via OCI Specification)
     ▼
[ Low-Level OCI Runtime ] (e.g., runc, crun)
     │
     ▼
[ Linux Kernel ] (Namespaces, cgroups)

Open Container Initiative (OCI) is a Linux Foundation project to create open, vendor-neural standards for software containers. The OCI achieves this by governing three core technical specifications: image-spec, runtime-spec and distribution-spec.

Command-line tools

ctr is a low-level, built-in tool for containerd developers, nerdctl is a user-friendly, Docker-compatible alternative for everyday container management, and crictl is a Kubernetes-maintained tool specifically built for inspecting and debugging Container Runtime Interface (CRI) environments.

ctr nerdctl crictl
Purpose Debugging General Purpose Debugging
Community ContainerD ContainerD Kubernetes
Works With ContainerD ContainerD All CRI-Compatible Runtimes