Posts

Showing posts from March, 2025

Lesson -2 : Docker & Container D | ctr | nerdctl | crictl

The topic Docker vs containerd is really about understanding how modern container systems are structured. Docker used to be the “all-in-one” tool, while containerd is a lower-level component that Docker itself now relies on. 🐳 What is Docker? Docker is a full platform for building, running, and managing containers. Think of Docker as a complete toolkit : Build container images ( Dockerfile ) Run containers ( docker run ) Manage networks, volumes, etc. CLI + API + ecosystem It’s designed to be developer-friendly and easy to use. ⚙️ What is containerd? containerd is a core container runtime . It handles the essential low-level tasks: Pulling images Managing container lifecycle (start, stop) Handling storage and execution It does not include: Image building tools Fancy CLI for developers High-level orchestration features 🧩 Relationship Between Them Originally, Docker had its own runtime. Later, Docker split things up and now: Docker → uses containerd int...

Containerd

  Working with Containerd Containerd is a high-level container runtime that provides the basic functionalities required to run and manage containers. It is more lightweight and low-level compared to Docker and is often used by container orchestration systems like Kubernetes. Containerd is capable of handling tasks like image pulling, container execution, and managing the container lifecycle, but it doesn't include higher-level features like orchestration or image building. If you're looking to work with containerd , the main interaction is through its gRPC API , although there are CLI tools that provide a more user-friendly way to interact with it. Basic Concepts of Containerd Containerd Daemon : The containerd daemon ( containerd.service or containerd process) is the core service that runs on your machine and handles container management tasks like running containers and pulling images. Containers : Containerd handles the lifecycle of containers, including crea...

Kubernetes Architecture

  Kubernetes architecture is a system designed to manage containerized applications across clusters of machines. It provides a framework to run distributed systems resiliently, with scaling, failover, and deployment patterns. Here's an overview of the key components and concepts involved in Kubernetes architecture: Key Components of Kubernetes Architecture Cluster : A Kubernetes cluster is made up of a control plane and a set of worker nodes (also known as the node pool ). Control Plane : Manages the overall cluster and makes global decisions about the cluster, such as scheduling, scaling, and networking. Worker Nodes : These are the machines (virtual or physical) where the containers are actually run. Control Plane Components : The control plane is responsible for maintaining the overall state of the cluster and making decisions about the cluster (like scheduling, networking, etc.). The main components are: API Server ( kube-apiserver ): The API server is the ent...