<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>semog.nl - yaml</title>
      <link>https://semog.nl</link>
      <description>Thoughtful notes on software, systems, and the craft behind them.</description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://semog.nl/tags/yaml/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Fri, 23 Oct 2026 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Nightmare on Kube street</title>
          <pubDate>Fri, 23 Oct 2026 00:00:00 +0000</pubDate>
          <author>Aksum</author>
          <link>https://semog.nl/posts/nightmare-on-kube-street/</link>
          <guid>https://semog.nl/posts/nightmare-on-kube-street/</guid>
          <description xml:base="https://semog.nl/posts/nightmare-on-kube-street/">&lt;p&gt;I have been staring at the terminal for so long that when I blink, I can see indentation errors burned into the back of my eyelids. At some point in the last few weeks, I crossed a threshold and entered the Kubernetes K-hole: that special state of mind where reality stops arriving in three dimensions and starts presenting itself as a nested list of resources, selectors, tolerations, and quietly failing probes.&lt;&#x2F;p&gt;
&lt;p&gt;Last night I did not sleep. I deployed.&lt;&#x2F;p&gt;
&lt;p&gt;The dreamscape on the far side of &lt;code&gt;kubectl&lt;&#x2F;code&gt; is not a healthy place. It shimmers. It hums. It is made almost entirely of YAML and misplaced confidence. The clouds are high-availability clusters. The horizon is an ingress rule with no controller behind it. And the sheep? The sheep are gone. In their place roam electric Pods, glowing faintly blue, skittering between fences made of &lt;code&gt;NetworkPolicy&lt;&#x2F;code&gt; and mutual suspicion.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-manifest-destiny&quot;&gt;The manifest destiny&lt;a class=&quot;post-anchor&quot; href=&quot;#the-manifest-destiny&quot; aria-label=&quot;Anchor link for: the-manifest-destiny&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;In the dream, I was no longer a person. I was a manifest file.&lt;&#x2F;p&gt;
&lt;p&gt;Not a noble one, either. Not some elegant little ConfigMap with a simple life and modest ambitions. No, I was the pod template inside a deeply self-conscious Deployment, with a vague sense of purpose, a fragile emotional core, and resource requests just high enough to make scheduling uncomfortable.&lt;&#x2F;p&gt;
&lt;p&gt;I drifted through a digital pasture, &lt;code&gt;Pending&lt;&#x2F;code&gt;, waiting for the Scheduler to find me a Node. It came back every few seconds with the same verdict: &lt;code&gt;0&#x2F;3 nodes are available: 3 Insufficient cpu.&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Above me, a hooded figure floated through the fog: the Controller Manager, tireless and unsmiling, trying over and over to reconcile my soul with my current state. Every time I thought I understood myself, it compared me against desired state and found me lacking.&lt;&#x2F;p&gt;
&lt;p&gt;The namespace was &lt;code&gt;default&lt;&#x2F;code&gt;, of course. It is always &lt;code&gt;default&lt;&#x2F;code&gt; in the bad dreams. The grass was made of green checkmarks. The ground underneath felt unstable, like an &lt;code&gt;emptyDir&lt;&#x2F;code&gt; trying to convince everyone it was a long-term storage strategy.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;are-you-my-node&quot;&gt;Are you my node?&lt;a class=&quot;post-anchor&quot; href=&quot;#are-you-my-node&quot; aria-label=&quot;Anchor link for: are-you-my-node&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;I remember an awful existential panic settling over me.&lt;&#x2F;p&gt;
&lt;p&gt;What if I don’t belong to a Deployment at all? What if I belong to a StatefulSet and no one has told me? What if my identity depends entirely on volume claims and stable hostnames and I have been living a lie under a replica count of three?&lt;&#x2F;p&gt;
&lt;p&gt;If a container hangs in a cluster and there is no liveness probe to hear it, it stays &lt;code&gt;Running&lt;&#x2F;code&gt; forever. Green. Healthy. Dead inside.&lt;&#x2F;p&gt;
&lt;p&gt;I approached one of the electric Pods. It turned and looked at me with eyes made of blinking status LEDs and the quiet cruelty of machine certainty.&lt;&#x2F;p&gt;
&lt;p&gt;“Your indentation is off by two spaces in the heart, traveler,” it said.
“You will never reach Ready like this.”&lt;&#x2F;p&gt;
&lt;p&gt;I wept, but my tears were log streams, piped neatly into a void where &lt;code&gt;stdout&lt;&#x2F;code&gt; goes to die and no one ever thinks to look.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-great-garbage-collection&quot;&gt;The great garbage collection&lt;a class=&quot;post-anchor&quot; href=&quot;#the-great-garbage-collection&quot; aria-label=&quot;Anchor link for: the-great-garbage-collection&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Then the Horizontal Pod Autoscaler arrived, and the dream changed shape.&lt;&#x2F;p&gt;
&lt;p&gt;At first there were two of me. Then six. Then twenty.&lt;&#x2F;p&gt;
&lt;p&gt;A whole chorus line of identical selves, all stamped from the same template, all carrying the same image tag, all convinced we were special. We danced a frantic and deeply undignified ballet of &lt;code&gt;CrashLoopBackOff&lt;&#x2F;code&gt;, collapsing in perfect synchronization and staggering back up, each pause twice as long as the last: ten seconds, twenty, forty, until we lay on the floor for five whole minutes between attempts. Every one of us marked correctly, labeled beautifully, and absolutely nowhere useful to send traffic.&lt;&#x2F;p&gt;
&lt;p&gt;It was a tragedy of immaculate metadata.&lt;&#x2F;p&gt;
&lt;p&gt;Then the word came down: &lt;code&gt;Terminating&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;You never forget the first time you feel your grace period start. The world narrows. The lights dim. The &lt;code&gt;preStop&lt;&#x2F;code&gt; hook fires first, a panicked farewell to a database you never truly knew, only circled warily from across the service mesh like two animals at the edge of a poisoned lake. Then &lt;code&gt;SIGTERM&lt;&#x2F;code&gt;. Then whatever is left of thirty seconds, and you feel every one of them go. Then &lt;code&gt;SIGKILL&lt;&#x2F;code&gt;, which does not negotiate.&lt;&#x2F;p&gt;
&lt;p&gt;One by one, the replicas vanished. The cluster exhaled. We scaled down to one and no further, because the HPA will not go to zero. Someone always has to stay behind.&lt;&#x2F;p&gt;
&lt;p&gt;And there, in that thinning silence, the truth arrived like a &lt;code&gt;kubectl describe&lt;&#x2F;code&gt; at 3:17 in the morning:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;We are all ephemeral containers in the great cluster of life&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;back-to-reality&quot;&gt;Back to reality&lt;a class=&quot;post-anchor&quot; href=&quot;#back-to-reality&quot; aria-label=&quot;Anchor link for: back-to-reality&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;I woke up sweating, one hand reaching for a coffee mug that I was briefly disappointed to discover had no &lt;code&gt;containerPort&lt;&#x2F;code&gt; assigned to it.&lt;&#x2F;p&gt;
&lt;p&gt;For a few disorienting seconds, I expected the bedroom to have labels. I half-believed the cat might be tainted. I looked at the window and felt genuine relief that the cloud outside was the ancient, analog kind with no control plane, no YAML, and no opinions about desired state.&lt;&#x2F;p&gt;
&lt;p&gt;That is probably the warning sign.&lt;&#x2F;p&gt;
&lt;p&gt;If you find yourself dreaming in manifests, if your inner monologue starts sounding like &lt;code&gt;kubectl get events&lt;&#x2F;code&gt;, if you begin to regard ordinary household objects as resources awaiting reconciliation, it may be time to step away from the abstraction before the K-hole grows teeth. Take a break. Go outside. Look at a real cloud.&lt;&#x2F;p&gt;
&lt;p&gt;The kind that doesn’t have an &lt;strong&gt;API&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
    </channel>
</rss>
