Network Functions

Telcos (Telecommunication companies) deploy networks that have high availability, are scalable, and resilient covering entire countries. Components like routers, firewalls, and DHCP servers (called Network Functions) are the building blocks of such large network deployments. Traditionally, network functions were deployed on proprietary hardware with application-specific integrated circuits and installed on the telco’s premise (baremetal deployment). Such network functions are called Platform Network Functions (PNFs). PNF deployments present the following challenges:...

June 7, 2023 · 6 min · Avnish
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

Helm Charts

Package managers like dnf and apt increase the convenience of installing, updating, and maintaining applications on operating systems. For developers, a package manager provides a standardized way of packaging and distributing their applications. Helm is a package manager for Kubernetes. It is implemented in Go and installed as a binary helm. It interacts with the Kubernetes cluster using Kubernetes API. Charts Helm distributes Kubernetes-based applications in a format called Chart....

May 16, 2023 · 6 min · Avnish

Operator SDK and Bundle Images

An Operator Bundle Image (OBI) is created to package custom resources and metadata associated with an operator. It’s like any other container image only difference is that it couldn’t be executed but it could be distributed through an OCI-compliant image registry. Contents of a bundle image are: Kubernetes Custom Resource Definitions (CRDs) ClusterServiceVersion (CSV) Specification of operator’s dependencies Operator metadata like its name, version, channels, etc. The control loops associated with the operator are defined in its Controller Manager....

May 10, 2023 · 7 min · Avnish