{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Yuvraj - Bright Side of Dark",
  "home_page_url": "https://evalsocket.dev/",
  "feed_url": "https://evalsocket.dev/feed.json",
  "items": [
    {
      "id": "https://evalsocket.dev/blog/kueue-deep-dive",
      "url": "https://evalsocket.dev/blog/kueue-deep-dive",
      "title": "Kueue Deep Dive: Job Queueing and Quotas for Kubernetes",
      "content_text": "Kubernetes has a scheduler, but it has no queue. Submit more jobs than the cluster can run and it does not line them up; it admits them all,…",
      "date_published": "2026-09-02T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/k8s137",
      "url": "https://evalsocket.dev/blog/k8s137",
      "title": "Kubernetes 1.37: DRA Device Management Lands, and the containerd Deadline Slips Again",
      "content_text": "Kubernetes 1.37, named after the Garhwal Himalaya, is a housekeeping release with one clear specialty: device management. Dynamic Resource…",
      "date_published": "2026-08-26T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/go-1-27-deep-dive",
      "url": "https://evalsocket.dev/blog/go-1-27-deep-dive",
      "title": "Go 1.27: Generic Methods, JSON v2 by Default, and Post-Quantum Signatures",
      "content_text": "Go 1.27 is a bigger language release than most. After years of the restriction standing, methods can now declare their own type parameters…",
      "date_published": "2026-08-19T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/gang-scheduling-1-35-1-36",
      "url": "https://evalsocket.dev/blog/gang-scheduling-1-35-1-36",
      "title": "Gang Scheduling in Kubernetes 1.35 and 1.36: The Road to All-or-Nothing",
      "content_text": "A distributed training job needs all its pods or none. If the scheduler places half a gang and the rest cannot fit, those pods sit idle…",
      "date_published": "2026-08-04T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/api-priority-and-fairness",
      "url": "https://evalsocket.dev/blog/api-priority-and-fairness",
      "title": "API Priority and Fairness: Keeping the Control Plane Fair Under Load",
      "content_text": "When the API server is overloaded, the question is not just how many requests it drops but which ones. If a runaway controller's list…",
      "date_published": "2026-07-16T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/jobset-distributed-training",
      "url": "https://evalsocket.dev/blog/jobset-distributed-training",
      "title": "JobSet for Distributed Training: Groups, Restarts, and Kueue Quota",
      "content_text": "Distributed training runs many pods that must find each other, start together, and be treated as one job. A plain Kubernetes Job does not…",
      "date_published": "2026-06-30T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/apiserver-at-scale",
      "url": "https://evalsocket.dev/blog/apiserver-at-scale",
      "title": "API Server Survival Guide at Scale",
      "content_text": "The kube-apiserver is the one component everything else talks to, and on a large cluster it is usually the first thing to fall over. It goes…",
      "date_published": "2026-05-26T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/dra-vs-device-plugins",
      "url": "https://evalsocket.dev/blog/dra-vs-device-plugins",
      "title": "DRA vs Device Plugins: When to Migrate and What You Gain",
      "content_text": "If you run GPUs on Kubernetes, you have two ways to expose them: the device plugin API, which has been around for years, and Dynamic…",
      "date_published": "2026-05-06T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/k8s136",
      "url": "https://evalsocket.dev/blog/k8s136",
      "title": "Kubernetes 1.36: PSI Metrics GA, User Namespaces GA, and a Quieter Cleanup Release",
      "content_text": "Kubernetes 1.36 is a cleanup and maturation release with two genuinely useful graduations: Pressure Stall Information (PSI) metrics and user…",
      "date_published": "2026-04-22T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/lws-multi-node-inference",
      "url": "https://evalsocket.dev/blog/lws-multi-node-inference",
      "title": "LeaderWorkerSet: Serving Models Too Big for One Node",
      "content_text": "Some models no longer fit on one machine. Llama 3.1 405B needs on the order of 800 GB of GPU memory, which is more than a single 8-GPU node…",
      "date_published": "2026-03-24T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/kubelet-pod-startup",
      "url": "https://evalsocket.dev/blog/kubelet-pod-startup",
      "title": "How the kubelet Actually Starts a Pod",
      "content_text": "A pod is Scheduled, then it sits in ContainerCreating for a while, then it runs. What happens in that gap is the kubelet's job, and when a…",
      "date_published": "2026-03-11T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/kube-scheduler-plugin",
      "url": "https://evalsocket.dev/blog/kube-scheduler-plugin",
      "title": "Kube-scheduler Internals: Writing a Filter and Score Plugin",
      "content_text": "The default scheduler is good, but sometimes you need placement logic it does not have: prefer nodes with a warm cache, avoid nodes running…",
      "date_published": "2026-02-18T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/go-1-26-deep-dive",
      "url": "https://evalsocket.dev/blog/go-1-26-deep-dive",
      "title": "Go 1.26: Green Tea GC by Default, new(expr), and a Revamped go fix",
      "content_text": "Picture the version bump landing on a production Go service you own: an allocation-heavy API that burns real CPU inside the garbage…",
      "date_published": "2026-02-10T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/writing-a-dra-driver",
      "url": "https://evalsocket.dev/blog/writing-a-dra-driver",
      "title": "Writing a DRA Driver: From ResourceSlice to kubelet Plugin",
      "content_text": "Dynamic Resource Allocation (DRA) is how Kubernetes now handles GPUs and other specialized devices. Instead of a fixed integer count like nv…",
      "date_published": "2026-01-27T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/k8s135",
      "url": "https://evalsocket.dev/blog/k8s135",
      "title": "Kubernetes 1.35: In-Place Pod Resize Is GA, and cgroup v1 Nodes Stop Booting",
      "content_text": "The question that matters for Kubernetes 1.35 is simple: should you take the upgrade now? The case for yes is one clearly useful feature. In…",
      "date_published": "2025-12-17T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/k8s134",
      "url": "https://evalsocket.dev/blog/k8s134",
      "title": "Kubernetes 1.34: DRA Goes GA and the cgroup-driver Clock Starts",
      "content_text": "Kubernetes 1.34 is a consolidation release. The headline is that Dynamic Resource Allocation (DRA), the new way to request GPUs and other…",
      "date_published": "2025-08-27T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/go125",
      "url": "https://evalsocket.dev/blog/go125",
      "title": "Go 1.25: A Practitioner's Deep Dive",
      "content_text": "Go 1.25 shipped on August 12, 2025. There is almost nothing new in the language, and that is the point. The interesting work is in the…",
      "date_published": "2025-08-13T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/k8s133",
      "url": "https://evalsocket.dev/blog/k8s133",
      "title": "Kubernetes 1.33: What's New and What It Means",
      "content_text": "Kubernetes v1.33, named \"Octarine\" after Terry Pratchett's Discworld, shipped on April 23, 2025 with 64 enhancements: 18 to stable, 20 to…",
      "date_published": "2025-08-12T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/rayio",
      "url": "https://evalsocket.dev/rayio",
      "title": "Scaling Python Workloads with Ray on Kubernetes",
      "content_text": "Python is the language of machine learning, but the Global Interpreter Lock (GIL) and a single-node design cap how far a plain Python…",
      "date_published": "2025-08-01T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/go-124-deep-dive",
      "url": "https://evalsocket.dev/blog/go-124-deep-dive",
      "title": "Go 1.24 Deep Dive: Generic Type Aliases, os.Root, and Post-Quantum Crypto",
      "content_text": "Go 1.24 shipped on February 11, 2025. It is a small language release and a large standard-library and tooling release, which is the shape of…",
      "date_published": "2025-02-11T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/eks-okta-oidc",
      "url": "https://evalsocket.dev/blog/eks-okta-oidc",
      "title": "EKS + Okta OIDC: SSO for kubectl That You Can Actually Reason About",
      "content_text": "Your team runs several EKS clusters. Engineers share IAM credentials or assume the same role, audit logs show generic principals, and when…",
      "date_published": "2025-01-14T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/golang-generics-deep-dive",
      "url": "https://evalsocket.dev/blog/golang-generics-deep-dive",
      "title": "Go Generics Deep Dive: Type Parameters, Constraints, and When to Use Them",
      "content_text": "Go added generics in 1.18, after years of debate about whether it should at all. If you are newer to Go, generics can look intimidating, so…",
      "date_published": "2025-01-14T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/kubernetes-architecture-deep-dive",
      "url": "https://evalsocket.dev/blog/kubernetes-architecture-deep-dive",
      "title": "Kubernetes Architecture: How the Pieces Actually Fit Together",
      "content_text": "Most people learn Kubernetes as a set of YAML recipes. This post is about the machine underneath: what each control-plane component does…",
      "date_published": "2025-01-14T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/blog/vllm-kubernetes-deep-dive",
      "url": "https://evalsocket.dev/blog/vllm-kubernetes-deep-dive",
      "title": "vLLM on Kubernetes: Serving LLMs Without the Bloat",
      "content_text": "vLLM is the most widely used engine for serving open large language models (LLMs), because it makes GPU memory go much further and keeps the…",
      "date_published": "2025-01-14T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/buf",
      "url": "https://evalsocket.dev/buf",
      "title": "Proto at Scale: Buf, Remote Plugins, and ConnectRPC",
      "content_text": "I have maintained Protocol Buffers at Flyte and consumed them across services at Union. The schema was never the hard part. The hard part…",
      "date_published": "2024-02-21T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/kyverno-generate-policy-part-2",
      "url": "https://evalsocket.dev/kyverno-generate-policy-part-2",
      "title": "Kyverno Generate, Part 2: Label-Driven Self-Service Resources",
      "content_text": "Part 1 covered the basics of Kyverno generate rules: creating and synchronizing resources across namespaces. This part covers a more…",
      "date_published": "2020-09-28T00:00:00.000Z"
    },
    {
      "id": "https://evalsocket.dev/kyverno-generate-policy",
      "url": "https://evalsocket.dev/kyverno-generate-policy",
      "title": "Kyverno Generate Policies: Automate Namespace Resources the Right Way",
      "content_text": "Kyverno is a policy engine built for Kubernetes. It runs as an admission controller that validates and mutates incoming resources, and it…",
      "date_published": "2020-07-24T00:00:00.000Z"
    }
  ]
}