Bengaluru Kubernetes Meetup – May’24

Kubernetes Meetup - May24

After a long time I spoke at the Bengaluru Kubernetes Meetup last weekend. It was attended by close 150+ people at the Red Hat Office. There were talks on GitOps, CI/CD, KEDA and Ingress. I gave a talk on CNCF and AI, in which I summarised the Cloud Native Artificial Intelligence whitepaper; which was published in […]

Cloud Native and Artificial Intelligence

We all know that using the Cloud Native method is the most effective way to manage Web Applications on a large scale. With the help of both public and private clouds, we have addressed all possible issues such as hardware availability, ability to grow, networking, storage, and managing multiple users, which may arise with these […]

Machine Learning on Kubernetes – Containerizing a Model

Containerizing an ML Model

In the 3rd session of “Machine Learning on Kubernetes” Book Club session we discussed how we can take a machine learning model and containerize it. You can find more details about the series and previous two recording here. We started the session by doing the quick review of Machine Learning and then looked a basic […]

Machine Learning on Kubernetes

Machine Learning on Kubernetes

As a part of Kubernetes Book Club initiative we are currently exploring Machine Learning on Kubernetes. For reference we are using the book Machine Learning on Kubernetes but also planing to cover additional content to make sure we all understand all the basics and apply them in real-work scenarios. With our discussion in book club […]

Empowering Data Science: Running Jupyter Notebooks at Scale with Kubernetes

Introduction In today’s data-centric landscape, organizations are constantly seeking innovative ways to extract insights and drive decision-making processes. Jupyter Notebooks have emerged as essential tools for data scientists, offering an interactive environment for data exploration, visualization, and analysis. However, as data volumes grow and computational demands increase, the need for scalable and efficient infrastructure becomes […]

Top Key Takeaways from KubeCon NA 2023

Read about the most talked items of the KubeCon NA 2023 in Chicago A few days back, KubeCon + CloudNativeCon North America 2023 wrapped up in the windy city of Chicago, Illinois, at the McCormick Place West building. People from all around the world attended the event in person and virtually. The venue was filled with brilliant folks […]

Unlocking Container Sequencing: Embracing Kubernetes’ Native Sidecar

Managing Pod-Based Smooth Workflow Orchestration and Functionality Extension Kubernetes is a standard for container orchestration in the industry. Traditionally, We use a multi-container design pattern to extend the main container’s functionality but can’t control the order of container execution.  Let’s understand with a scenario, If the proxy container for logging will start after the main […]

Improving Kubernetes Audit Logs: Parseable Integration Tactics

Simplifying Cluster Security and Oversight by Using Vector Agents Kubernetes has become the standard container orchestration tool for microservice-based deployments and managing large business applications. As Kubernetes has so many features, using and managing it can be difficult, especially keeping track of activities in the cluster. The main goal of this hands-on lab is to […]

Autoscale Applications with KEDA and Prometheus Scalerautoscaling

To use Kubernetes Event-Driven Autoscaling (KEDA) along with Prometheus to scale applications in Kubernetes cluster Applications running inside the Kubernetes cluster need to be scaled according to the load it encounters with. Scaling is an important process for better performance of the application. Kubernetes provides Horizontal Pod Autoscaler (HPA) to scale applications with the help of resource […]

Exploration of Kubernetes Metadata: Labels, Selectors, and Annotations

A Deep Dive into Kubernetes Resource Classification and Configuration Overview Kubernetes, a container orchestrator, is designed to handle applications at scale. While working with multiple objects we may need to group them. Metadata like, labels, selectors and annotations play an important role while configuring and working with kubernetes objects. Labels and selectors are used to select […]

Creating Kubernetes Cluster With CRI-O Container Runtime

Exploring CRI-O Container Runtime and how to set up a Kubernetes Cluster with it. Container Runtime Interface (CRI) is one of the important parts of the Kubernetes cluster. It is a plugin interface allowing Kubelet to use different container runtimes. And recently, CRI-O container runtime has been announced as a CNCF Graduated project. I thought of creating a hands-on […]

High Performance Log Analytics with Parseable and Vector

Efficient Strategies for Logging, Analysis, and Visualization As we live in a digital world, people want applications to be operational 24X7. To achieve that, we need to solve the issues quickly or predict the issues in advance. Hundreds of microservices and thousands of servers are working behind the scenes. If something goes wrong, then how to debug it? To track the […]

Kubernetes Logging Essentials

Exploring different kinds of Kubernetes Logs and the Logging Pipeline Kubernetes, an open-source container orchestrator, is designed to manage and deploy applications at scale.  While working with Kubernetes,  Developers and DevOps engineers should know how to troubleshoot clusters and find issues via different kind of logs. Due to its dynamic nature, it is challenging to centralize logs for […]

Unveiling Sidecar Containers in Kubernetes

To extend the functionality of the application container in the Kubernetes pod A Sidecar pattern can separate an application’s functionalities into different processes. With the help of the sidecar design pattern, we may expand the functionality of the main application  without modifying its codebase. From a software point of view, a sidecar is attached to a core application […]

Intro To Kubebuilder and Deep Dive

Creating a custom operator from scratch in kuberentes can be tedious and involves dealing with Kubernetes API to create, watch, update objects etc. It involves a steep learning curve with lots of complexity to handle. Many tools and SDKs help automate tasks with the help of libraries like client-go and controller runtime. And one of the most popular […]

Kubernetes YAML Template

Exploring Kubernetes YAML Template to better understand and work with YAML manifests YAML ( YAML Ain’t Markup Language) is a human readable data serialisation language used to create configuration files with any programming language. Kubernetes is an open source container orchestration system that uses YAML configuration files also known as manifests used to deploy different resources in Kubernetes […]

Kubernetes vs Docker

Kubernetes vs Docker: Why not Both? In this article, we will discover the most widely used tools in the modern cloud-native container ecosystem: Docker and Kubernetes. Though Docker and Kubernetes are often used together, the most common question asked is Kubernetes or Docker. The answer is neither. Our comprehensive will give you a better understanding and help […]

Exploring Kubernetes Kubeconfig File

A Comprehensive Guide for Developers and DevOps to understand Kubernetes Kubeconfig File Kubernetes has become one of the most popular orchestration tools. To interact with it, kubectl CLI is used. And to configure access to the cluster, a kubeconfig file is used. In this hands-on lab, we will dive deep into the kubeconfig file. What is Kubeconfig File? The […]

GitOps with ArgoCD and FluxCD

GitOps implementation with ArgoCD and FluxCD Before moving ahead with hands-on, let’s first make sure to have the following things in place: Pre-requisite: 1. Hope you have access to your personal Github account  2. hope you had generated personal access token PAT key for yourself to access your  repositories from your GitHub and store it somewhere (don’t […]

Kubernetes + Cloud Joint Meetup – Nov’22

Event report of the Nov’22 joint meetup along with presentations & recording If you do a poll or ask anyone about what is the best way to learn and meet like minded people; everyone would answer that the physical in-person meetings are best. In the Bengaluru tech community we have been missing that for a […]

Kubernetes native network policies from zero to hero!

Kubernetes native network security policies by example. The Kubernetes network model is a “flat” network design. This means that all pods on one node can communicate freely with all pods on all the other nodes without being address translated, or blocked. The networking is implemented by a CNI (Container Networking Interface). Examples of popular CNI’s are Cilium, Calico, […]

Introduction to Confidential Containers

Get familiar with Kata containers based Confidential Containers stack Confidential Containers (CoCo) is a CNCF sandbox project which aims to integrate existing Confidential Computing (CC) infrastructure support and technologies with the cloud-native world. The following references are a good read: In this lab, we’ll be deploying the Kata containers based CoCo stack as shown in the […]

How does Kubernetes assign QoS class to pods through OOM score?

To know about the concept of Linux’s OOMKilled and how it helps Kubernetes to define a Quality of Service (QoS) class for its pods. Most Kubernetes users would have encountered OOMKilled at least once. When OOMKilled occurs, we tend to recalibrate the pod’s QoS or move the pod to a different node thinking there is a memory issue with […]

Kubernetes Tip: How To Gracefully Handle Pod Shutdown?

To know about graceful termination of pods and difference between SIG-TERM and SIG-KILL for container deletion. Shutting down an application Pod is as important as starting it up.  We need to release all of the resources used by the application and process in-progress requests etc. Proper shutting of applications helps in reducing chances of request failure.There […]

Learn Kubernetes operator by a real world example!

Full Hands-on experience learning Kubernetes Operators + explanations | Simple & intuitive explanations to grasp key concepts | Real world example to get you going right away! What is a Kubernetes Operator? A Kubernetes Operator is an abstraction for deploying non-trivial applications on top of Kubernetes, behind Kubernetes APIs.  The Kubernetes Operator attempts to wraps the logic for deploying […]

Progressive Delivery With Argo Rollouts : Canary with Analysis (Part 3)

Canary Deployment with Analysis using Argo Rollouts Hope you have gone through and enjoyed the first two parts of our progressive delivery with the Argo Rollout series, where we have seen how one can implement the blue-green and canary deployment strategy by deploying a sample application using the Argo Rollout controller in a Kubernetes cluster.   In Part 3 of this series, we […]

CloudYuga’s Cloud Engineer Bootcamps

Hands-on program to make the participants Internship/Job ready in 3 months If I look around in my circle everyone is hiring but they keep complaining that they are not getting good candidates. On the other hand, if you look at the profiles on LinkedIN, Job sites etc we’ll find a lot of buzzwords in the […]

Core Dumps with Kata Containers

To learn about core dump with kata containers In the previous blog, we discussed the use of Kata containers for building isolated dev and build environments.   In this hands-on lab, let’s take things a step further by discussing how to handle core dumps with Kata containers. There are a variety of reasons why you may need to analyze an application […]

werf: deploy apps to Kubernetes

Learn how to easily deploy applications to Kubernetes using werf, a powerful open source tool. In this lab, you will build a container image with an example application, deploy it to Kubernetes, and modify the configuration and code of the deployed application. We will use a tiny shell script as a demo. It returns pong […]

Need specific kernel settings for your Kubernetes POD?

A low-risk approach for Developers and Administrators Linux provides the sysctl mechanism to modify the kernel behavior at runtime. There are many situations where this is desired. For example, tuning the kernel to run high-performance computing apps, configuring the application core dump settings, modifying network settings, experiments, etc.   Sysctl settings can be grouped into two categories: Further Kubernetes […]

Different ways to debug your Kubernetes apps

To learn about the different ways to debug your Kubernetes applications This blog will briefly discuss what I typically use for debugging Kubernetes apps. I hope you will find it helpful too. Exploring different ways to debug Kubernetes apps In this section, we will be going through some of the ways like kubectl exec, sharing namespaces, […]

Meetup: K8s in Production & Cost Reduction when running it on Cloud

Event report: Online Meetup to discuss about k8s challenges while running it in production and how to reduce the cost when deploying in production Last week on 12th July’22 we did online meetup of K8s and CloudNative Meetup . Following was the agenda of the meetup :- 195 people RSVPed to the event and more than 70 […]

Learning about Linux namespaces in #docker and #kubernetes !

A practical walkthrough in exploring namespaces in relation to docker and kubernetes. As you probably know, containers running on the same host, share the Linux kernel. That’s why a container image does not contain a kernel, only software and tools that make up a distro like for example a package manager. So, if containers share […]

Progressive Delivery With Argo Rollouts : Canary Deployment (Part 2)

To understand about canary deployment with Argo Rollouts In Part 1 of Argo Rollout, we have seen Progressive Delivery and how you can achieve the Blue-Green deployment type using Argo-Rollouts. We also deployed a sample app in the Kubernetes cluster using it. Read and try hands-on lab in the first part of this Progressive Delivery lab series if […]

Kubectl Tips & Tricks

To get familiar with kubectl and improve productivity with its useful commands For anyone who learns and works with Kubernetes, its CLI kubectl becomes one of the essential tools to know as to interact with the cluster. Kubectl is a command-line tool that is used to communicate with the Kubernetes control plane via a Kubernetes API. As Kubernetes API is […]

Is Kubernetes Secrets…. A Secret?

To know how one can get access to Kubernetes secrets In the previous blog, we saw how etcd works with Kubernetes and how to access etcd. Now we will be learning how etcd stores secrets and can one can access those secrets or not? As we know containerized applications running in Kubernetes almost always need some […]

Playing with k0s

To get an introduction to k0s by setting up a single-node kubernetes cluster k0s is a Kubernetes distribution released at end of 2020. k0s is shipped as a single binary without any OS dependencies. It is thus defined as a zero-friction/zero-deps/zero-cost Kubernetes distribution. The latest k0s release: Pretty neat, right? We’ll now see how to create a single-node k0s cluster. […]

Update Multiple Lines in a YAML file with Kubectl

Update multiple lines in a YAML file with kubectl Whenever I need to update a YAML file, the first thing that comes to mind is to either use sed or awk or perl etc., But there’s an in-house kubectl patch option that simplifies the experience. Lab With Kubectl Patch As we triggered the lab through the LAB SETUP button, a terminal, and an IDE comes for […]

Build a Container Image from Source-Code using S2I and Push It to a Registry

Build a Container Image from Source-Code using S2I and Push It to a Registry Recently, while drafting an OpenShift solution tutorial, I explored an interesting tool called S2I (Source-to-Image). In this post, you will learn how to create a container image directly from your source code and push the generated container image to a registry. What […]

Install a local Kubernetes with Microk8s

Getting started with Microk8s Single-node deployments of Kubernetes are more common than one would expect. In some scenarios, single-node clusters make much more sense. For development or testing purposes, there’s no need to deploy a full production cluster. So, to solve this trouble, we have MicroK8s, a tool by Canonical. In this hands-on lab, we will […]

AutoScaling in Kubernetes

To know about autoscaling and its types in Kubernetes Allocating resources to pods running inside the Kubernetes cluster is challenging as it gives rise to the questions such as how much CPU and RAM to allocate to pods for high performance and how to create enough replicas of these pods to handle the incoming load. For […]

Introduction To Kata Containers

To learn how to provide more isolation and security to containers Container technology has been widely adapted for packaging applications inside the container to make it portable on various platforms and infrastructures. Today different containerization platforms have been developed which follow Open Container Initiative(OCI) standards like Containerd and so on. This portable characteristic of containers makes them […]

Progressive Delivery With Argo Rollouts : Canary & Traffic Management (Part 4)

Canary with Traffic Management using Nginx Controller In Part 3 of Argo Rollout, we have seen the Canary deployment strategy with analysis and deployed a sample app using the Argo Rollout controller in the Kubernetes cluster. In this hands-on lab, we will be going to explore the canary deployment strategy with traffic management using the Nginx controller via […]

Setting Up Grafana with Prometheus

Grafana is an interactive web application used to monitor our systems. Grafana is open-source analytics and monitoring software. It helps to create, explore and share the data using the dashboards.  It helps us to query, visualize and understand the data. In this hands-on lab, we will set up Grafana and add Prometheus as a data source to it. You can refer to the […]

Introduction To KEDA

To learn about Kubernetes Event-Driven Autoscaling (KEDA) Autoscaling is one of the important features of Kubernetes and Horizontal Pod Autoscaler (HPA) comes to mind when pods need to be scaled on the basis of CPU and memory consumption. You can find out more about autoscaling and HPA through our Autoscaling in Kubernetes hands-on lab. HPA is a […]

Hugo On Kubernetes

To learn how to deploy a blogging website using Hugo on Kubernetes Hugo is one of the most popular  open-source Static Site Generator (SSG) frameworks written in Go.  It allows developers to build fast HTML websites by combining content and templates. Visit the official documentation of Hugo to know more about it.In this blog, we will see how […]

Revisiting Container Image Builds Inside a Container

More flexibility and Improved Isolation using Kata Containers A commonly used approach to build container images as part of the DevOps pipeline is to use a builder image running in a Kubernetes cluster. The builder image leverages either docker or kaniko or buildah. With Kata containers maturing into a production-ready container runtime and subsequent increase in uptake, it presents a great […]

Introduction and Setting Up Devtron

Get to know about Devtron tool and how to set it up in a Kubernetes cluster Nowadays, Kubernetes has been widely used as an orchestrator and multiple open-source tools can be integrated with it for monitoring, debugging, automating workflows, and so on. But using and managing all these tools together with Kubernetes is difficult. So, […]

Kubernetes: Deployments vs StatefulSets vs DaemonSets

To understand different workload resources in Kubernetes Kubernetes (K8s) is one of the popular open-source container orchestration systems for automating deployment, scaling, and management of containerized applications. Kubernetes provides a basic resource called Pod. A pod is the smallest deployable unit in Kubernetes which has a collection of containers. As a pod can have one or more containers so different configurations can […]

The Lesser Known Side of Kubernetes API

To learn what Kubernetes APIs are and to do RESTful Operation The Kubernetes API server is one of the core components of the control plane which helps in exposing the Kubernetes API. This API server serves different HTTP(REST) API endpoints which allows end-users to do different RESTful operations, to interact with different components of the cluster. At the bottom level, everything in the Kubernetes […]

Securing Kubernetes with Kyverno

Introduction to Kyverno and exploring some of its security policies for Kubernetes In recent times, Kubernetes has become the default standard to manage the containers at scale. It can be configured and installed in N different ways which are good in terms of flexibility but can be a nightmare to configure security. If security is not configured in the right […]

ETCD in Kubernetes

To learn how ETCD works in Kubernetes In the previous blog, we have seen about etcd, its installation with its implementation, and how to set up a three-node etcd local cluster. Now, we will be exploring the working of etcd in Kubernetes and how it stores the information about the cluster, and how we can interact with etcd to […]

Downward API

To learn how to expose pod information to its own containers. In a Kubernetes cluster, generally, an application running inside a container in a pod doesn’t have any information about the pod or about the cluster as we make the application to be portable. But the information about the pod can be exposed to the application container and it’s […]

Exploring Kubectl Plugins

To learn different Kubectl Plugins via Krew Plugin Manager To manage and operate different Kubernetes-related tasks, kubectl is one of the handiest and most powerful tools to be used. With its core features, we can do various tasks like creating pod resources, listing them, and so on. But sometimes Kubernetes-admin and users might need to perform tasks […]

Kubernetes Auditing

To know about Kubernetes auditing and learn how to apply audit policies and store logs. In general, auditing means inspection, and Kubernetes auditing refers to a set of records documenting the sequence of actions in a cluster. The cluster inspects the activities generated by users, by applications that use the Kubernetes API, and by the control plane itself. But […]

Kubernetes Community Day Bengaluru’21

In this blog I would like to share some insight about event planning, event day, outcome, post event and some other learnings. I know this is late but I have to publish this blog to formally check all the TODO’s with respect to this KCD, Bengaluru 21 event. Kubernetes Community Days, Bengaluru 21 happened on 25th […]

Left Red Hat .. Again, to start something on my own

Yesterday (2nd Dec 2015) was my last day at Red Hat. I left Red Hat in Dec’08 to join a startup and then joined back on Sept’12. Yesterday (2nd Dec’15) was my last day at Red Hat (again). I left Red Hat in Dec’08 to join a startup and then joined back on Sept’12 . This time I worked in the […]