Lifecycle of a volume managed by CSI Plugin

Container Storage Interfaces (CSI)

There is a multitude of choices for storage solutions (Amazon S3, Ceph, Google Cloud Storage, etc.) and combined with the choices of container orchestrators (Kubernetes, Apache Mesos, Docker Swarm, etc.) the permutations are endless. A Container Storage Interface (CSI) plugin is implemented by the storage providers (Amazon, Google, IBM) as an interface to provision and mount volumes for workloads when requested by container orchestrators. The CSI plugin provisions the volume, procures it from the node hosting the container, and mounts it to the requesting container....

May 31, 2023 · 6 min · Avnish
Execution of CNI Plugins by Container Runtime

Container Network Interfaces (CNI)

Container runtimes allocate network namespaces for containers deployed on the host. A network interface (like docker0, bridge, or host) is configured inside the namespace to facilitate the communication with host, the internet, or other containers. The Container Network Interface (CNI) project provides specifications and libraries for implementing a plugin-based solution for managing network interfaces for containers. The runtime executes the CNI plugins provided as binary executable files. A network configuration is passed to the runtime as a JSON file....

May 24, 2023 · 5 min · Avnish
Building container images from Containerfile

Building Container Images

Public registries provide container images for most use cases but they might not cover all of them. That’s why container engines such as Podman & Docker and CLI tools like buildah provide utilities for creating custom container images. The build steps are written in a plaintext file called Containerfile and parsed by container engines (or buildah) during the build process. # ContainerfileFROMnode:18-alpineLABEL version="1.0" WORKDIR/appCOPY . .RUN yarn install --productionCMD ["node", "src/index....

March 20, 2023 · 5 min · Avnish
Workflow of container images

Container Images

A container image is a static file that contains the necessary resources (packages, configuration, other dependencies) required to provision a container. It consists of multiple layered-filesystems and a Manifest file, containing its metadata. Open Container Initiative (OCI) Specification Open Container Initiative was established by The Linux Foundation in 2015 to provide Runtime specification Image specification Distribution specification for container images. A container image created from OCI Image specification should have...

March 17, 2023 · 5 min · Avnish
Lifecycle of a container

Container Lifecycle

Container Engines like Podman and Docker provide GUI and CLI utilities for managing the state of containers. They also provide features such as container image management, metrics, logging, and debugging tools. The examples in this article use Podman but CLI commands are mostly interoperable with Docker. We can install Podman on your system by following the steps in Podman Installation Instructions. Podman also provides a graphical interface for managing containers, images, and other resources called Podman Desktop....

February 10, 2023 · 6 min · Avnish