<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kubernetes API Server on Netdata</title><link>https://www.netdata.cloud/tags/kubernetes-api-server/</link><description>Recent content in Kubernetes API Server on Netdata</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 22 Aug 2026 05:09:03 +0300</lastBuildDate><atom:link href="https://www.netdata.cloud/tags/kubernetes-api-server/index.xml" rel="self" type="application/rss+xml"/><item><title>Kubernetes Monitoring Tool Without Centralized Data</title><link>https://www.netdata.cloud/solutions/technologies/kubernetes-monitoring/</link><pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/solutions/technologies/kubernetes-monitoring/</guid><description>Transform Kubernetes observability with Netdata&amp;rsquo;s edge-native architecture. Get per-second visibility, ML anomaly detection on every metric, and AI-powered root cause analysis - all at 90% lower cost than traditional solutions.</description></item><item><title>Kubernetes API Server etcd Latency: How To Fix It</title><link>https://www.netdata.cloud/guides/kubernetes/kubernetes-api-server-etcd-latency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/kubernetes/kubernetes-api-server-etcd-latency/</guid><description>&lt;p&gt;When etcd slows down, the entire control plane slows with it. A few extra milliseconds on disk fsync turns into hung kubectl commands, backed-up controller queues, and eventually a cluster that cannot schedule pods or update endpoints. Detect the etcd latency cascade, confirm whether storage is the root cause, and break the feedback loop before the cluster becomes effectively read-only.&lt;/p&gt;&#10;&lt;h2 id="what-this-means"&gt;What This Means&lt;/h2&gt;&#10;&lt;p&gt;etcd serializes every Kubernetes mutation. Every API server write becomes a Raft proposal that must fsync to the WAL before etcd acknowledges it. When the disk under etcd is slow, every fsync waits longer. The API server holds mutating requests open until etcd responds. Requests pile up in the inflight queue. Once the queue hits the limit, the API server returns 429 Too Many Requests. Controllers that depend on writes (scheduler, replica set controller, and others) fall behind and retry. Retries generate more write load. The result is a feedback loop: slow disk -&amp;gt; slow etcd -&amp;gt; slow API server -&amp;gt; retry storm -&amp;gt; amplified etcd load.&lt;/p&gt;</description></item><item><title>Kubernetes API Server Rate Limited: How To Fix It</title><link>https://www.netdata.cloud/guides/kubernetes/kubernetes-api-server-rate-limited/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/kubernetes/kubernetes-api-server-rate-limited/</guid><description>&lt;p&gt;Your API server is running. &lt;code&gt;/healthz&lt;/code&gt; returns 200. &lt;code&gt;/readyz&lt;/code&gt; passes. Yet nodes drop to &lt;code&gt;NotReady&lt;/code&gt;, the scheduler stops placing pods, and controller logs fill with &lt;code&gt;context deadline exceeded&lt;/code&gt;. The cluster is not down, but it is frozen. This pattern often points to API Priority and Fairness (APF) starvation: low-priority traffic consumes the API server&amp;rsquo;s concurrency budget, and critical control plane requests queue or get rejected.&lt;/p&gt;&#10;&lt;p&gt;APF is enabled by default in Kubernetes 1.20+. It classifies every API request into a priority level via FlowSchema rules, then schedules requests against a per-level concurrency limit. When a priority level exhausts its seats, requests queue. If the queue fills, the server returns HTTP 429. When the queue grows in &lt;code&gt;system&lt;/code&gt; or &lt;code&gt;leader-election&lt;/code&gt;, kubelets cannot renew leases, controllers cannot write status, and the cluster degrades from the inside out. This guide shows how to confirm APF starvation, identify the culprit, and fix the allocation without turning the API server into a free-for-all.&lt;/p&gt;</description></item><item><title>Kubernetes API Server Slow Or Unresponsive: Causes &amp; Fixes</title><link>https://www.netdata.cloud/guides/kubernetes/kubernetes-api-server-slow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/kubernetes/kubernetes-api-server-slow/</guid><description>&lt;p&gt;When &lt;code&gt;kubectl&lt;/code&gt; hangs, controllers log &lt;code&gt;context deadline exceeded&lt;/code&gt;, and deployments stall, the Kubernetes API server is usually the bottleneck. It is the single funnel for every read and write to cluster state. Slowness propagates to scheduling, pod lifecycle, service discovery, and external automation.&lt;/p&gt;&#10;&lt;p&gt;This article covers operational causes and gives a step-by-step diagnostic flow to run during an incident. Use it to distinguish etcd latency, &lt;a &gt;admission webhook&lt;/a&gt; stalls, request saturation, and memory pressure.&lt;/p&gt;</description></item><item><title>Kubernetes Monitoring Checklist: The Signals Every Production Cluster Needs</title><link>https://www.netdata.cloud/guides/kubernetes/kubernetes-monitoring-checklist/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/kubernetes/kubernetes-monitoring-checklist/</guid><description>&lt;p&gt;This article is a reference checklist for senior engineers who are wiring up, auditing, or hardening monitoring for a production Kubernetes cluster. It assumes you already understand the control plane architecture and focuses on what to collect, where to find it, and which symptoms matter. Use it during greenfield instrumentation, post-incident gap analysis, or routine health audits.&lt;/p&gt;&#10;&lt;p&gt;The signals are grouped by domain. Each entry leads with a short noun phrase, followed by one sentence explaining why it matters, and a concrete warning sign to alert on. Thresholds are drawn from upstream SLOs, kubelet defaults, and etcd operational limits documented in the Kubernetes source and production playbooks. If you run a managed service such as EKS, GKE, or AKS, treat control-plane metrics as provider-mediated; many etcd and API server internals are opaque in those environments.&lt;/p&gt;</description></item><item><title>Kubernetes Operations Guides</title><link>https://www.netdata.cloud/guides/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/kubernetes/</guid><description>Learn what actually breaks in production Kubernetes clusters, how to diagnose it, and what to monitor so the next incident is shorter than the last one.</description></item><item><title>Kubernetes pod stuck Terminating: finalizers, grace periods, and force delete</title><link>https://www.netdata.cloud/guides/kubernetes/kubernetes-pod-stuck-terminating/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/kubernetes/kubernetes-pod-stuck-terminating/</guid><description>&lt;p&gt;A pod stuck in &lt;code&gt;Terminating&lt;/code&gt; stays visible in the &lt;a href="https://www.netdata.cloud/guides/kubernetes/kubernetes-api-server-slow/"&gt;API server&lt;/a&gt; after &lt;code&gt;kubectl delete&lt;/code&gt;, sometimes for minutes or hours. Usually a finalizer blocks removal, a CSI volume is still attached, or the container is ignoring SIGTERM. Force deleting without diagnosis orphans containers and can violate StatefulSet guarantees. Check the signals first, then decide whether to wait, patch a finalizer, or force delete.&lt;/p&gt;&#10;&lt;h2 id="what-this-means"&gt;What This Means&lt;/h2&gt;&#10;&lt;p&gt;When you delete a pod, the API server sets &lt;code&gt;metadata.deletionTimestamp&lt;/code&gt; and starts a graceful deletion window controlled by &lt;code&gt;terminationGracePeriodSeconds&lt;/code&gt; (default 30). The kubelet executes any &lt;code&gt;preStop&lt;/code&gt; hooks, sends SIGTERM to all containers, and waits up to the grace period before sending SIGKILL.&lt;/p&gt;</description></item><item><title>Kubernetes Scheduler Not Scheduling Pods: Queue Depth &amp; Failure Reasons</title><link>https://www.netdata.cloud/guides/kubernetes/kubernetes-scheduler-not-scheduling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/kubernetes/kubernetes-scheduler-not-scheduling/</guid><description>&lt;p&gt;Pods stay Pending for many reasons, but the scheduler process being down is rarely one. More often, pods accumulate in internal queues because the cluster is out of capacity, a control plane dependency stalls the binding cycle, or a filter plugin rejects every candidate node. Distinguishing &amp;ldquo;unschedulable&amp;rdquo; (no node fits) from &amp;ldquo;not scheduling&amp;rdquo; (the scheduler cannot keep up or the binding cycle is failing) prevents wasted node scaling when the real problem is an &lt;a href="https://www.netdata.cloud/guides/kubernetes/kubernetes-api-server-etcd-latency/"&gt;etcd latency&lt;/a&gt; spike or a volume affinity conflict.&lt;/p&gt;</description></item></channel></rss>