<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CRDs on Support Tools</title><link>https://support.tools/tags/crds/</link><description>Recent content in CRDs on Support Tools</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Sun, 26 Jul 2026 09:00:00 -0500</lastBuildDate><atom:link href="https://support.tools/tags/crds/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Self-Updating Kubernetes Resource Crawler: Discovery API and Dynamic Client</title><link>https://support.tools/kubernetes-resource-crawler-discovery-api-dynamic-client/</link><pubDate>Sun, 26 Jul 2026 09:00:00 -0500</pubDate><guid>https://support.tools/kubernetes-resource-crawler-discovery-api-dynamic-client/</guid><description>&lt;p&gt;Ask most engineers to export everything in a namespace and they reach for &lt;code&gt;kubectl get all -o yaml&lt;/code&gt;. It feels comprehensive. It is not. The &lt;code&gt;all&lt;/code&gt; category is a hardcoded shortlist inside kubectl, and it silently omits ConfigMaps, Secrets, PersistentVolumeClaims, Ingresses, NetworkPolicies, ServiceAccounts, RBAC bindings, and every Custom Resource an operator ever installed. Anything worth auditing is exactly the set &lt;code&gt;all&lt;/code&gt; leaves out.&lt;/p&gt;&#10;&lt;p&gt;The correct approach is to ask the cluster what it can serve, then walk that list. The Kubernetes &lt;strong&gt;Discovery API&lt;/strong&gt; enumerates every API group and resource the apiserver currently knows about, and the &lt;strong&gt;dynamic client&lt;/strong&gt; lets you list any of them without compiling a single Go type. Composed together, they form a resource crawler that adapts to new CRDs the moment they are installed, with no code changes. A recent open source tool, &lt;a href="https://github.com/devenkulkarni/k8s-ns-dump-dynamic"&gt;k8s-ns-dump-dynamic&lt;/a&gt;, demonstrates the core loop in about 165 lines of Go and is a clean minimal example. This post builds that same crawler, then hardens it against the five ways the naive version fails in production: partial discovery, unbounded lists, swallowed permission errors, output that will not reapply, and client-side throttling.&lt;/p&gt;</description></item><item><title>Building Scalable Kubernetes Operators in Go: Breaking Through ETCD Limitations</title><link>https://support.tools/go-kubernetes-operators-scalable-data/</link><pubDate>Thu, 11 Jun 2026 09:00:00 -0500</pubDate><guid>https://support.tools/go-kubernetes-operators-scalable-data/</guid><description>&lt;p&gt;Kubernetes operators have revolutionized how we manage applications on Kubernetes, but they face significant scalability challenges when dealing with large datasets due to ETCD&amp;rsquo;s limitations. This article explores patterns and solutions for building truly scalable operators in Go, with practical approaches to handle high-volume data requirements.&lt;/p&gt;</description></item><item><title>What Are Finalizers? When We Should Fear Them and When We Shouldn't</title><link>https://support.tools/finalizers-kubernetes-rancher/</link><pubDate>Tue, 03 Dec 2024 20:00:00 -0500</pubDate><guid>https://support.tools/finalizers-kubernetes-rancher/</guid><description>&lt;p&gt;Finalizers in Kubernetes are powerful tools for resource lifecycle management. They ensure that cleanup tasks and dependencies are handled properly before a resource is deleted. However, finalizers can become problematic, especially when mismanaged or when resources get stuck in a &lt;code&gt;Terminating&lt;/code&gt; state. This post provides a deep dive into finalizers, including their role in Kubernetes, namespace management, controllers, and how to handle them safely.&lt;/p&gt;</description></item><item><title>A Deep Dive into Rancher: Managing Kubernetes at Scale</title><link>https://support.tools/post/rancher-deep-dive/</link><pubDate>Mon, 18 Sep 2023 00:00:00 -0600</pubDate><guid>https://support.tools/post/rancher-deep-dive/</guid><description>&lt;p&gt;In this blog post, we will explore Rancher, a powerful platform designed to simplify the management of Kubernetes clusters at scale. We will delve into Rancher&amp;rsquo;s architecture, covering controllers, agents, WebSockets, the Rancher API, and the use of Custom Resource Definitions (CRDs).&lt;/p&gt;</description></item></channel></rss>