<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>My notes and stuff - Kubernetes</title>
    <subtitle>This is just a space for me to share some notes and thoughts. I hope someone finds something useful here.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://suchaboris.com/tags/kubernetes/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://suchaboris.com/"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-11-23T00:00:00+00:00</updated>
    <id>https://suchaboris.com/tags/kubernetes/atom.xml</id>
    <entry xml:lang="en">
        <title>The Power of Hands-on Learning</title>
        <published>2025-11-23T00:00:00+00:00</published>
        <updated>2025-11-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://suchaboris.com/blog/the-power-of-hands-on-learning/"/>
        <id>https://suchaboris.com/blog/the-power-of-hands-on-learning/</id>
        
        <content type="html" xml:base="https://suchaboris.com/blog/the-power-of-hands-on-learning/">&lt;p&gt;This week, I wanted to highlight briefly how important it is to be &lt;strong&gt;hands-on&lt;&#x2F;strong&gt; with any learning. Theory is great, and I would have learned a lot just by reading &lt;strong&gt;Kubernetes&lt;&#x2F;strong&gt; docs and examples. But I would never solidify that knowledge if I hadn&#x27;t built my own &lt;strong&gt;K8s cluster&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;When you are actually applying what you have learned, there is some different feedback loop in the brain that makes it stick better. I&#x27;m sure other people can explain it better. All I want to say is if you want to learn something new, just reading about it is not enough. You need to practice it. I know that&#x27;s nothing new, it&#x27;s a well-known fact. I&#x27;m just comprehending and appreciating it much more after doing it myself.&lt;&#x2F;p&gt;
&lt;p&gt;I find it a bit relevant with &lt;strong&gt;AI&lt;&#x2F;strong&gt;. I always ask it to explain to me what and why it is doing certain things so I understand. But when I actually do something similar myself, my understanding is much deeper. And that&#x27;s just much more satisfying.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Using NAS as a Data Layer for K8s</title>
        <published>2025-11-16T00:00:00+00:00</published>
        <updated>2025-11-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://suchaboris.com/blog/using-nas-as-a-data-layer-for-k8s/"/>
        <id>https://suchaboris.com/blog/using-nas-as-a-data-layer-for-k8s/</id>
        
        <content type="html" xml:base="https://suchaboris.com/blog/using-nas-as-a-data-layer-for-k8s/">&lt;p&gt;I have only had time this week for a tiny personal project. And that project was to use my &lt;strong&gt;NAS&lt;&#x2F;strong&gt; as a data persistence layer for at least some of the apps running in my &lt;strong&gt;K8s cluster&lt;&#x2F;strong&gt;. It was surprisingly easy.&lt;&#x2F;p&gt;
&lt;p&gt;The setup required tinkering with nodes and &lt;strong&gt;K8s&lt;&#x2F;strong&gt; manifests, but it all went very smoothly. So now I have my &lt;strong&gt;Minecraft&lt;&#x2F;strong&gt; server storing all the data on my NAS via &lt;strong&gt;NFS&lt;&#x2F;strong&gt;, so even if my lab&#x27;s hardware fails, the data will not be lost. And as I&#x27;m running backups on the NAS itself, I can protect the data even more.&lt;&#x2F;p&gt;
&lt;p&gt;There is a tiny latency tradeoff. I did notice a bit of a lag in Minecraft, as it has to read and write files a lot. But because all connections are wired and the lab and NAS are on the same switch, it has not been a problem so far. If it becomes worse, I can always revert back to local storage just for one app.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Running my own Minecraft Server</title>
        <published>2025-11-09T00:00:00+00:00</published>
        <updated>2025-11-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://suchaboris.com/blog/running-my-own-minecraft-server/"/>
        <id>https://suchaboris.com/blog/running-my-own-minecraft-server/</id>
        
        <content type="html" xml:base="https://suchaboris.com/blog/running-my-own-minecraft-server/">&lt;p&gt;For months, if not years, creating a &lt;strong&gt;homelab&lt;&#x2F;strong&gt; was on my mind, but I kept postponing it because I lacked a clear goal for what I&#x27;d run there.&lt;&#x2F;p&gt;
&lt;p&gt;When I finally started working on it in October, the motivation was very simple: My oldest kid wanted to play &lt;strong&gt;Minecraft&lt;&#x2F;strong&gt; together! :)&lt;&#x2F;p&gt;
&lt;p&gt;It took a bit of time and a lot of extra steps to ensure I did it the way I wanted. I learned so much about &lt;strong&gt;Kubernetes&lt;&#x2F;strong&gt; and all the related tools along the way, which was part of the goal.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m happy to share I now have a &lt;strong&gt;Minecraft server&lt;&#x2F;strong&gt; running in my &lt;strong&gt;K8s homelab cluster&lt;&#x2F;strong&gt;. It is always on, there is no lag, and it&#x27;s running surprisingly well.&lt;&#x2F;p&gt;
&lt;p&gt;I have other lab projects in mind, but I am very happy that the idea that started it all is now complete.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Debugging K8s Network Policies</title>
        <published>2025-11-02T00:00:00+00:00</published>
        <updated>2025-11-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://suchaboris.com/blog/debugging-k8s-network-policies/"/>
        <id>https://suchaboris.com/blog/debugging-k8s-network-policies/</id>
        
        <content type="html" xml:base="https://suchaboris.com/blog/debugging-k8s-network-policies/">&lt;p&gt;My focus last week (in personal projects space) was to add network policies to my &lt;strong&gt;homelab&lt;&#x2F;strong&gt;. I added them to all custom namespaces but, in the end, had to revert some and replace them with less restrictive ones because some things just stopped working, and I had no time to investigate why.&lt;&#x2F;p&gt;
&lt;p&gt;The biggest challenge was in the very beginning when none of the policies I added did anything. Everything looked good in the logs and on the &lt;strong&gt;K8s&lt;&#x2F;strong&gt; cluster. I mean, there were no errors or reports of invalid configs.&lt;&#x2F;p&gt;
&lt;p&gt;After several hours of cumulative debugging, checking all configs, and brainstorming with AI, I found that my nodes just didn&#x27;t have the &lt;strong&gt;iptables&lt;&#x2F;strong&gt; binary! 🤦&lt;&#x2F;p&gt;
&lt;p&gt;Everything looked great in the logs, but no rules were enforced. After adding the binary and updating my bootstrap scripts, all the rules started working as intended.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The Joy of Scope Creep in a Homelab</title>
        <published>2025-10-26T00:00:00+00:00</published>
        <updated>2025-10-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://suchaboris.com/blog/the-joy-of-scope-creep-in-a-homelab/"/>
        <id>https://suchaboris.com/blog/the-joy-of-scope-creep-in-a-homelab/</id>
        
        <content type="html" xml:base="https://suchaboris.com/blog/the-joy-of-scope-creep-in-a-homelab/">&lt;p&gt;Last week was a classic case of &lt;strong&gt;scope creep&lt;&#x2F;strong&gt; (for a personal project): I started one task and it instantly spawned five more. On one hand, it&#x27;s a good learning process; on the other, it feels less productive because my To-Do list got bigger, not smaller.&lt;&#x2F;p&gt;
&lt;p&gt;All I wanted was to set up some &lt;strong&gt;security scanner&lt;&#x2F;strong&gt; for my &lt;strong&gt;homelab K8s cluster&lt;&#x2F;strong&gt;. After researching different tools, I spun one up and got a summary report, which was great. Time to start fixing vulnerabilities and misconfigurations, right?&lt;&#x2F;p&gt;
&lt;p&gt;Well, I thought I needed to set up alerting first so I know the number does not go up. But for that, I need to set up &lt;strong&gt;secret management&lt;&#x2F;strong&gt; so alerts can be sent via email. And each part requires quite a bit of reading, research, and evaluation of which solution will work best for my case.&lt;&#x2F;p&gt;
&lt;p&gt;And so, by the end of the week, my To-Do list for the homelab is twice as big as it was when the week started. And I love it. I am learning so much with this project.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>My Homelab is Ready!</title>
        <published>2025-10-19T00:00:00+00:00</published>
        <updated>2025-10-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://suchaboris.com/blog/my-homelab-is-ready/"/>
        <id>https://suchaboris.com/blog/my-homelab-is-ready/</id>
        
        <content type="html" xml:base="https://suchaboris.com/blog/my-homelab-is-ready/">&lt;p&gt;I&#x27;m very happy to share that I&#x27;ve finished setting up my &lt;strong&gt;homelab&lt;&#x2F;strong&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;It took about a month to go from &quot;I want to run a homelab on &lt;strong&gt;Kubernetes&lt;&#x2F;strong&gt;&quot; to successfully using my first self-hosted app. I thought it would take much longer with my limited time, so this is a big personal milestone.&lt;&#x2F;p&gt;
&lt;p&gt;I have two &lt;strong&gt;old laptops&lt;&#x2F;strong&gt; I got from friends sitting in my garage, running a Kubernetes cluster leveraging &lt;strong&gt;Debian&lt;&#x2F;strong&gt; and &lt;strong&gt;k3s&lt;&#x2F;strong&gt;. At the moment, it&#x27;s a full monitoring stack (&lt;strong&gt;Prometheus&lt;&#x2F;strong&gt; + &lt;strong&gt;Grafana&lt;&#x2F;strong&gt;) and a simple app, all running smoothly. Seeing the metrics in Grafana for the first time was incredibly satisfying.&lt;&#x2F;p&gt;
&lt;p&gt;This entire setup relies on a &lt;strong&gt;GitOps&lt;&#x2F;strong&gt; flow, specifically using &lt;strong&gt;FluxCD&lt;&#x2F;strong&gt; to manage all deployments. I had to fight a number of quirks setting everything up, obviously, but that&#x27;s just a part of the learning process.&lt;&#x2F;p&gt;
&lt;p&gt;Next up: adding some security layers, then deploying more useful applications.&lt;&#x2F;p&gt;
&lt;p&gt;If you want the technical details, check out my &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;prymost&#x2F;homelab&quot;&gt;Homelab repository&lt;&#x2F;a&gt; on GitHub.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Docker in Docker</title>
        <published>2025-10-05T00:00:00+00:00</published>
        <updated>2025-10-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://suchaboris.com/blog/docker-in-docker/"/>
        <id>https://suchaboris.com/blog/docker-in-docker/</id>
        
        <content type="html" xml:base="https://suchaboris.com/blog/docker-in-docker/">&lt;p&gt;For people who already knew this, it might be trivial, but I learned something interesting last week.&lt;&#x2F;p&gt;
&lt;p&gt;I knew you can run pretty much anything in &lt;strong&gt;Docker&lt;&#x2F;strong&gt;. And I knew Docker with &lt;strong&gt;Compose&lt;&#x2F;strong&gt; or equivalent tools can be used to run a whole dev environment or something like &lt;strong&gt;Testcontainers&lt;&#x2F;strong&gt;. I&#x27;d even heard at some point that you can potentially run &lt;strong&gt;Docker inside Docker&lt;&#x2F;strong&gt;, but I either didn&#x27;t pay attention or had no use for it. And that&#x27;s what blew my mind when I tried it last week.&lt;&#x2F;p&gt;
&lt;p&gt;As I&#x27;m building out my &lt;strong&gt;homelab&lt;&#x2F;strong&gt;, I set up a full &lt;strong&gt;Kubernetes&lt;&#x2F;strong&gt; cluster in a &lt;strong&gt;devcontainer&lt;&#x2F;strong&gt;, and I can easily test new deployments locally. Using my own &lt;strong&gt;YAML&lt;&#x2F;strong&gt; or &lt;strong&gt;Helm&lt;&#x2F;strong&gt;—it doesn&#x27;t matter. Everything is in a container. The whole &lt;strong&gt;K8s&lt;&#x2F;strong&gt; cluster inside Docker. What? It still blows my mind.&lt;&#x2F;p&gt;
&lt;p&gt;If you want to see how I set it up, check out my &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;prymost&#x2F;homelab&#x2F;tree&#x2F;main&#x2F;.devcontainer&quot;&gt;Homelab DevContainer configuration&lt;&#x2F;a&gt; on GitHub.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
