Linux Namespaces, Container Runtime, and Kubernetes Interactions

Linux namespaces are fundamental to isolating system resources for processes. Each namespace type isolates a different system resource: PID namespace: Isolates the process ID number space, meaning that processes in different PID namespaces can have the same PID. Network namespace (NET): Provides isolation of network controllers, system resources associated with networking, firewall rules, and routing … Continue reading Linux Namespaces, Container Runtime, and Kubernetes Interactions

Kubeconfig Files and Cert Files

Kubernetes has become a leading platform for orchestrating containers in development, staging, and production environments. With its increased adoption, understanding its configuration files is essential. Two key components in the Kubernetes ecosystem are Kubeconfig files and certificate files. These are primarily used for authentication with the Kubernetes API Server. In this post, we will delve … Continue reading Kubeconfig Files and Cert Files

Pod Lifecycle, Probes, and Health Checks

In Kubernetes, a Pod stands as the smallest, simplest unit that can be created and managed. Every Pod corresponds to a fraction of a workload operating on your cluster. Grasping the Pod Lifecycle allows us to proficiently control our applications and comprehend the situation when things veer off course. Here's a high-level look at the … Continue reading Pod Lifecycle, Probes, and Health Checks

Understanding Standard Streams: stdin, stdout, and stderr in Linux

Today we're going to dive into an important topic for anyone using a Linux-based operating system or writing software for such a system: the standard streams - stdin, stdout, and stderr. These three data streams are the primary means of communication between your Linux operating system and the processes it runs. What are Standard Streams? … Continue reading Understanding Standard Streams: stdin, stdout, and stderr in Linux

All Things Helm 3.0

What is Helm? Helm is a package manager for Kubernetes. A package manager generally aims to provide a single command to install some software. Installing software likely has dependencies - a package manager should be able to resolve those dependencies. A package manager is supposed to abstract some complexities of installing software and making it … Continue reading All Things Helm 3.0

Kubernetes Cheatsheet [WIP]

kubectl get pods #get pods from default namespace kubectl get pods -o wide #get pods from default namespace kubectl get nodes #get nodes kubectl get pods --all-namespaces #list all pods kubectl drain node_name --ignore-deamonsets --force #drain a node, cannot delete pods managed by replicationcontroller, replicaset, job, deamonset, statefulset kubectl uncordon node_name # allow pods to … Continue reading Kubernetes Cheatsheet [WIP]

OAuth 2.0 and OpenID Connect Explained

What are OAuth 2.0 and OpenID Connect? OAuth 2.0 is an authorization framework developed by IETF defined in RFC 6749. OpenID Connect (AKA OIDC) is an identity layer built on top of OAuth 2.0. OpenID connect specification is built by OpenID Foundation. The Problem Statement If you wanted a service or an application to access … Continue reading OAuth 2.0 and OpenID Connect Explained

Terraform quickstart

What is Terraform? Terraform is an open-source IoC (infrastructure as code) software by HashiCorp. It allows us to define and provision infrastructure using a high-level configuration language. For example, the following piece of code will create a server on AWS. provider "aws" { region = "us-east-1" } resource "aws_instance" "example" { ami = "ami-12345678" instance_type … Continue reading Terraform quickstart

Arithmetic, Logical and Control Instructions in IA32 Assembly

This is not a blog post, per se, but rather an example program that contains basic usage of arithmetic, logical and control instructions. For this blog post, I thought that it is better to describe the example program in the program comments and not in separate paragraphs. We will write a simple program that will … Continue reading Arithmetic, Logical and Control Instructions in IA32 Assembly