<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kubernetes on MDT - Personal site</title><link>https://detafti.ir/en/tags/kubernetes/</link><description>Recent content in Kubernetes on MDT - Personal site</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://detafti.ir/en/tags/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>Liveness is not health</title><link>https://detafti.ir/en/notes/k8s-liveness-vs-readiness/</link><pubDate>Fri, 11 Sep 2026 17:20:00 +0330</pubDate><guid>https://detafti.ir/en/notes/k8s-liveness-vs-readiness/</guid><description>&lt;p>The worst Kubernetes outage I keep seeing is not a node dying. It is a slow database, a liveness probe that talks to that database, and a cluster that then kills every pod that was still doing useful work.&lt;/p>
&lt;p>Liveness does not mean “the app is healthy.” It means “this process is so stuck that Kubernetes should shoot it.” If you point that gun at a dependency, you will shoot the fleet.&lt;/p></description></item><item><title>Java, Spring, Kubernetes</title><link>https://detafti.ir/en/notes/java-spring-kubernetes/</link><pubDate>Fri, 11 Sep 2026 17:00:00 +0330</pubDate><guid>https://detafti.ir/en/notes/java-spring-kubernetes/</guid><description>&lt;p>A map of how I actually run backend software: Java on the JVM, Spring as the application layer, Kubernetes as the place it lives. Start here, then open the note that matches the problem in front of you.&lt;/p>
&lt;p>This is not a tutorial index. It is the order I would walk a teammate through after an incident.&lt;/p>
&lt;h2 id="if-you-are-new-here">If you are new here&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="https://detafti.ir/en/notes/spring-transactional-in-production/">Spring &lt;code>@Transactional&lt;/code> does not mean what you think&lt;/a> — where transactions actually start, and why a method calling another method on &lt;code>this&lt;/code> silently does nothing.&lt;/li>
&lt;li>&lt;a href="https://detafti.ir/en/notes/k8s-liveness-vs-readiness/">Liveness is not health&lt;/a> — the Kubernetes outage that looks like a crash loop but started as a slow dependency.&lt;/li>
&lt;li>&lt;a href="https://detafti.ir/en/notes/reliability-lessons-from-sqlite/">Reliability lessons from SQLite&lt;/a> — why a tool that solves more problems than it creates stays in production.&lt;/li>
&lt;/ol>
&lt;p>The &lt;a href="https://detafti.ir/en/courses/java/">Java course&lt;/a> is the longer path if you want to write this stack with me, not only read about it.&lt;/p></description></item></channel></rss>