<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>kubernetes on Ritesh Sonawane</title><link>https://riteshsonawane.com/tags/kubernetes/</link><description>Recent content in kubernetes on Ritesh Sonawane</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 06 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://riteshsonawane.com/tags/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>LLM Inference KPIs Every SRE Should Know</title><link>https://riteshsonawane.com/blog/llms-inference-kpis/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate><guid>https://riteshsonawane.com/blog/llms-inference-kpis/</guid><description>&lt;p&gt;Monitoring LLM inference is not like monitoring a conventional web service. The metrics are different, the failure modes are different, and the relationship between what you measure and what the user experiences is more indirect.&lt;/p&gt;
&lt;p&gt;This guide explains the most useful LLM inference KPIs for SREs, what each metric measures, what causes it to change, and how to use the signals together when production performance degrades.&lt;/p&gt;
&lt;h2 id="the-mental-model-prefill-and-decode"&gt;The mental model: prefill and decode&lt;/h2&gt;
&lt;p&gt;Every LLM inference request goes through two distinct phases. If you do not understand the difference, the metrics will not make sense.&lt;/p&gt;</description></item><item><title>Kubernetes Gateway API Inference Extension</title><link>https://riteshsonawane.com/blog/k8s-gateway-api-inference/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://riteshsonawane.com/blog/k8s-gateway-api-inference/</guid><description>&lt;h2 id="kubernetes-gateway-api-inference-extension-what-it-is-and-why-it-matters"&gt;Kubernetes Gateway API Inference Extension: What It Is and Why It Matters&lt;/h2&gt;
&lt;p&gt;If you are running LLM workloads on Kubernetes today, you have almost certainly hit the same wall. Your standard Ingress or Gateway routes traffic to pods based on HTTP path or headers. Round-robin distributes load across replicas. Everything looks fine from the control plane perspective. But your GPU utilization is uneven, some replicas are getting hammered while others sit idle, latency is unpredictable, and you have no way to differentiate a low-latency interactive chat request from a background batch job that can afford to wait.&lt;/p&gt;</description></item><item><title>ndots in Kubernetes</title><link>https://riteshsonawane.com/blog/ndots-in-kubernetes/</link><pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate><guid>https://riteshsonawane.com/blog/ndots-in-kubernetes/</guid><description>&lt;p&gt;Let&amp;rsquo;s see how the &lt;code&gt;ndots&lt;/code&gt; option works in Kubernetes.&lt;/p&gt;
&lt;p&gt;In Kubernetes, we connect to running pods either directly or via a Kubernetes Service. This post focuses on how service DNS resolution actually works under the hood.&lt;/p&gt;
&lt;h2 id="the-resolvconf-file"&gt;The resolv.conf file&lt;/h2&gt;
&lt;p&gt;In Linux, &lt;code&gt;/etc/resolv.conf&lt;/code&gt; is used by the &lt;a href="https://man7.org/linux/man-pages/man3/resolver.3.html"&gt;system resolver&lt;/a&gt; for domain name resolution. Kubernetes automatically injects this file into every pod with the configuration needed to resolve services inside the cluster.&lt;/p&gt;
&lt;p&gt;Here is an example from a CNPG cluster pod running in the &lt;code&gt;database&lt;/code&gt; namespace:&lt;/p&gt;</description></item><item><title>Streamlining Model Lifecycle with KubeRay</title><link>https://riteshsonawane.com/blog/kuberay/</link><pubDate>Fri, 24 May 2024 00:00:00 +0000</pubDate><guid>https://riteshsonawane.com/blog/kuberay/</guid><description>&lt;p&gt;&lt;strong&gt;This blog is based on my work at CloudRaft!&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;As the demand for ML and LLM models continues to grow, so does the need for reliability and scalability. Integrating Kubernetes into model development emerges as a powerful solution. By leveraging Kubernetes, we can streamline the process of model development, decrease costs, and enhance model reliability. This can be achieved using Ray on Kubernetes. But before that, let&amp;rsquo;s take a look at the lifecycle of an ML model.&lt;/p&gt;</description></item><item><title>Making Kubernetes Simple with Talos</title><link>https://riteshsonawane.com/blog/talos/</link><pubDate>Tue, 07 May 2024 00:00:00 +0000</pubDate><guid>https://riteshsonawane.com/blog/talos/</guid><description>&lt;p&gt;&lt;strong&gt;This blog is based on my work at CloudRaft! &lt;em&gt;(My first blog at CloudRaft)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Kubernetes marks its 10th anniversary this year with the release of version v1.30.0, solidifying its status as the cloud platform of choice. Managed Kubernetes clusters like EKS, GKS and AKS represent 73% of the total cluster, remaining 27% are self-managed as per &lt;a href="https://assets.dynatrace.com/en/docs/wp/bae3218-wp-kubernetes-in-the-wild-en.pdf?_ga=2.202268564.403052509.1714528198-1455211400.1714528198"&gt;Dynatrace&lt;/a&gt;. The last decade has been an era of public cloud but due to increasing costs, some businesses are trying to find a balance with the hybrid cloud. Approximately 76% of organizations now leverage multiple clouds which is a combination of public and private clouds as per &lt;a href="https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/docs/vmware-ebook-state-of-kubernetes.pdf"&gt;VMware&lt;/a&gt;. Kubernetes allows us to build a multi-cloud and private cloud layer on the hardware of choice and in a cost-effective way without committing to one specific cloud.&lt;/p&gt;</description></item></channel></rss>