<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Understanding Concepts on Advanced Beginner</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/</link><description>Recent content in Understanding Concepts on Advanced Beginner</description><generator>Hugo</generator><language>en-US</language><managingEditor>d8lzz1gpw@mozmail.com (kimbenji)</managingEditor><webMaster>d8lzz1gpw@mozmail.com (kimbenji)</webMaster><lastBuildDate>Mon, 23 Mar 2026 18:34:26 +0900</lastBuildDate><atom:link href="https://advanced-beginner.github.io/en/docs/kubernetes/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>Architecture</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/architecture/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/architecture/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to understand Kubernetes structure
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Basic Docker concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand Kubernetes cluster components and their roles&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;Kubernetes cluster consists of Control Plane (brain) and Worker Nodes (muscle)&lt;/li&gt;
&lt;li&gt;Control Plane manages cluster state, Worker Nodes execute actual workloads&lt;/li&gt;
&lt;li&gt;kubectl commands communicate with the cluster through API Server&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="overall-cluster-structure"&gt;Overall Cluster Structure&lt;a class="anchor" href="#overall-cluster-structure"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A Kubernetes cluster is broadly divided into two parts.&lt;/p&gt;</description></item><item><title>Pod</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/pod/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/pod/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to understand Kubernetes Pod concept
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Basic Docker container concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand what Pods are and why we use Pods instead of containers&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;Pod is the smallest deployable unit in Kubernetes&lt;/li&gt;
&lt;li&gt;A Pod contains one or more containers that share network and storage&lt;/li&gt;
&lt;li&gt;Most Pods contain only a single container&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="what-is-a-pod"&gt;What is a Pod?&lt;a class="anchor" href="#what-is-a-pod"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A Pod is the smallest deployable unit that can be created and managed in Kubernetes. While containers are the smallest unit in Docker, Pods are the smallest unit in Kubernetes.&lt;/p&gt;</description></item><item><title>Deployment</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/deployment/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/deployment/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to deploy applications in Kubernetes
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Pod concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand how to deploy and update applications with Deployments&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;Deployment manages declarative updates of Pods&lt;/li&gt;
&lt;li&gt;Rolling updates enable zero-downtime deployment&lt;/li&gt;
&lt;li&gt;Can rollback to previous version when problems occur&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="what-is-deployment"&gt;What is Deployment?&lt;a class="anchor" href="#what-is-deployment"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Deployment is a resource that manages Pod deployment and updates. Using Deployment instead of directly managing Pods offers several benefits.&lt;/p&gt;</description></item><item><title>Service</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/service/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/service/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to configure network access in Kubernetes
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Pod, Deployment concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand how to reliably access Pods with Services&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;Service provides a stable network endpoint for a set of Pods&lt;/li&gt;
&lt;li&gt;Pod IPs change but Service IP (ClusterIP) is fixed&lt;/li&gt;
&lt;li&gt;Three types exist: ClusterIP, NodePort, LoadBalancer&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="why-service-is-needed"&gt;Why Service is Needed&lt;a class="anchor" href="#why-service-is-needed"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Pod IPs change whenever Pods are recreated. How can we communicate reliably in this situation?&lt;/p&gt;</description></item><item><title>ConfigMap and Secret</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/configmap-secret/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/configmap-secret/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to manage application configuration in Kubernetes
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Pod concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand how to separate and manage configuration and sensitive information with ConfigMap and Secret&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;ConfigMap stores general configuration (DB host, log level, etc.)&lt;/li&gt;
&lt;li&gt;Secret stores sensitive information (passwords, API keys, etc.)&lt;/li&gt;
&lt;li&gt;Both can be injected into Pods as environment variables or files&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="overall-flow"&gt;Overall Flow&lt;a class="anchor" href="#overall-flow"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s first examine the flow of ConfigMap and Secret injection into Pods.&lt;/p&gt;</description></item><item><title>Volume and Storage</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/storage/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/storage/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to persist data in Kubernetes
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Pod concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand Volume, PersistentVolume, and PersistentVolumeClaim concepts and usage&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;Pods are ephemeral by default, data disappears on termination&lt;/li&gt;
&lt;li&gt;Volumes allow data sharing between containers within a Pod&lt;/li&gt;
&lt;li&gt;PersistentVolume (PV) and PersistentVolumeClaim (PVC) maintain data independently of Pod lifecycle&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="why-volumes-are-needed"&gt;Why Volumes are Needed?&lt;a class="anchor" href="#why-volumes-are-needed"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Container filesystems are ephemeral by default.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Problem&lt;/th&gt;
 &lt;th&gt;Volume Solution&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Data loss on container restart&lt;/td&gt;
 &lt;td&gt;Preserve data with Volume&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cannot share files between containers in same Pod&lt;/td&gt;
 &lt;td&gt;Mount shared Volume&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;All data lost on Pod termination&lt;/td&gt;
 &lt;td&gt;Persist with PersistentVolume&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="volume-types-overview"&gt;Volume Types Overview&lt;a class="anchor" href="#volume-types-overview"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kubernetes provides various Volume types.&lt;/p&gt;</description></item><item><title>Networking</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/networking/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/networking/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to understand Kubernetes network structure
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Service concepts, basic networking knowledge (IP, ports, DNS)
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand Kubernetes network model and Ingress&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;All Pods have unique IPs and can communicate directly with other Pods&lt;/li&gt;
&lt;li&gt;Service provides stable access point for a set of Pods&lt;/li&gt;
&lt;li&gt;Ingress routes HTTP/HTTPS traffic from outside the cluster&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="kubernetes-network-model"&gt;Kubernetes Network Model&lt;a class="anchor" href="#kubernetes-network-model"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kubernetes networking follows three basic principles.&lt;/p&gt;</description></item><item><title>Resource Management</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/resources/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/resources/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to efficiently manage resources in Kubernetes
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Pod, Deployment concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand the difference between requests and limits, and how to configure appropriate resources&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;requests&lt;/code&gt;: Minimum guaranteed resources used for scheduling&lt;/li&gt;
&lt;li&gt;&lt;code&gt;limits&lt;/code&gt;: Maximum usable resources&lt;/li&gt;
&lt;li&gt;CPU excess causes throttling, memory excess causes OOMKilled&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="why-resource-configuration-is-needed"&gt;Why Resource Configuration is Needed?&lt;a class="anchor" href="#why-resource-configuration-is-needed"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Running Pods without resource configuration causes several problems.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Problem&lt;/th&gt;
 &lt;th&gt;After Resource Configuration&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;One Pod monopolizes node resources&lt;/td&gt;
 &lt;td&gt;Limit max usage with limits&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Resources not considered during scheduling&lt;/td&gt;
 &lt;td&gt;Schedule based on requests&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Random Pod termination on memory shortage&lt;/td&gt;
 &lt;td&gt;Priority based on QoS class&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Unpredictable resource usage&lt;/td&gt;
 &lt;td&gt;Explicit resource allocation&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="requests-and-limits"&gt;requests and limits&lt;a class="anchor" href="#requests-and-limits"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kubernetes provides two resource control methods.&lt;/p&gt;</description></item><item><title>Scaling</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/scaling/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/scaling/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to configure auto-scaling in Kubernetes
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Deployment, resource management concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand auto-scaling methods using HPA and VPA&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;HPA (Horizontal Pod Autoscaler) automatically adjusts Pod count&lt;/li&gt;
&lt;li&gt;VPA (Vertical Pod Autoscaler) automatically adjusts Pod resource requests&lt;/li&gt;
&lt;li&gt;In most cases, consider HPA first&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="scaling-methods-comparison"&gt;Scaling Methods Comparison&lt;a class="anchor" href="#scaling-methods-comparison"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kubernetes provides two scaling methods.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Method&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;th&gt;Suitable For&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Horizontal scaling (HPA)&lt;/td&gt;
 &lt;td&gt;Adjust Pod count&lt;/td&gt;
 &lt;td&gt;Stateless applications&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Vertical scaling (VPA)&lt;/td&gt;
 &lt;td&gt;Adjust Pod resources&lt;/td&gt;
 &lt;td&gt;Stateful, resource optimization&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;pre class="mermaid"&gt;flowchart LR
 subgraph Horizontal[Horizontal Scaling]
 H1[Pod] --&amp;gt; H2[Pod]
 H2 --&amp;gt; H3[Pod]
 end
 subgraph Vertical[Vertical Scaling]
 V1[Pod&amp;lt;br&amp;gt;256Mi] --&amp;gt; V2[Pod&amp;lt;br&amp;gt;512Mi]
 end&lt;/pre&gt;&lt;h2 id="hpa-horizontal-pod-autoscaler"&gt;HPA (Horizontal Pod Autoscaler)&lt;a class="anchor" href="#hpa-horizontal-pod-autoscaler"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;HPA automatically adjusts Pod count based on metrics (CPU, memory, custom).&lt;/p&gt;</description></item><item><title>Health Checks</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/health-checks/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/health-checks/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;: Backend developers who want to monitor application status in Kubernetes
&lt;strong&gt;Prerequisites&lt;/strong&gt;: Pod, Deployment concepts
&lt;strong&gt;After reading this&lt;/strong&gt;: You will understand the differences between Liveness, Readiness, and Startup Probes and how to configure them&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Liveness Probe&lt;/strong&gt;: Check if container is alive, restart on failure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Readiness Probe&lt;/strong&gt;: Check if ready to receive traffic, remove from service on failure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Startup Probe&lt;/strong&gt;: Check startup completion, other Probes disabled until completion&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="why-health-checks-are-needed"&gt;Why Health Checks are Needed?&lt;a class="anchor" href="#why-health-checks-are-needed"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A Running container doesn&amp;rsquo;t mean the application is healthy.&lt;/p&gt;</description></item><item><title>Namespace</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/namespace/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/namespace/</guid><description>&lt;h2 id="overall-analogy-building-wings-in-an-apartment-complex"&gt;Overall Analogy: Building Wings in an Apartment Complex&lt;a class="anchor" href="#overall-analogy-building-wings-in-an-apartment-complex"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Namespaces are easy to understand when compared to &lt;strong&gt;building wings in an apartment complex&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Apartment Complex Analogy&lt;/th&gt;
 &lt;th&gt;Kubernetes Namespace&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Wing 101, Wing 102 separation&lt;/td&gt;
 &lt;td&gt;Namespace&lt;/td&gt;
 &lt;td&gt;Logically isolate resources&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Per-wing maintenance budget&lt;/td&gt;
 &lt;td&gt;ResourceQuota&lt;/td&gt;
 &lt;td&gt;Limit total resources per namespace&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Per-unit electricity/water limit&lt;/td&gt;
 &lt;td&gt;LimitRange&lt;/td&gt;
 &lt;td&gt;Default resources per Pod/container&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Management office restricted area&lt;/td&gt;
 &lt;td&gt;kube-system&lt;/td&gt;
 &lt;td&gt;Dedicated space for system components&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Public bulletin board area&lt;/td&gt;
 &lt;td&gt;kube-public&lt;/td&gt;
 &lt;td&gt;Space accessible to all users&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Per-wing access card&lt;/td&gt;
 &lt;td&gt;RBAC + Namespace&lt;/td&gt;
 &lt;td&gt;Separate access permissions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In this way, a Namespace is like &amp;ldquo;dividing management areas by building wing within a single apartment complex.&amp;rdquo;&lt;/p&gt;</description></item><item><title>StatefulSet</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/statefulset/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/statefulset/</guid><description>&lt;h2 id="overall-analogy-a-restaurant-with-reserved-seats"&gt;Overall Analogy: A Restaurant with Reserved Seats&lt;a class="anchor" href="#overall-analogy-a-restaurant-with-reserved-seats"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;StatefulSets are easy to understand when compared to &lt;strong&gt;a restaurant with reserved seats&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Restaurant Analogy&lt;/th&gt;
 &lt;th&gt;Kubernetes StatefulSet&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Reserved seat numbers (Seat 1, 2, 3)&lt;/td&gt;
 &lt;td&gt;Pod names (app-0, app-1, app-2)&lt;/td&gt;
 &lt;td&gt;Stable and unique identifiers&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Personal locker for each guest&lt;/td&gt;
 &lt;td&gt;PersistentVolumeClaim&lt;/td&gt;
 &lt;td&gt;Dedicated persistent storage per Pod&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Seated/unseated in order&lt;/td&gt;
 &lt;td&gt;Sequential creation/deletion&lt;/td&gt;
 &lt;td&gt;Created from 0, deleted in reverse&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Name plate reservation&lt;/td&gt;
 &lt;td&gt;Stable network ID&lt;/td&gt;
 &lt;td&gt;Same hostname preserved after Pod restart&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Open seating restaurant&lt;/td&gt;
 &lt;td&gt;Deployment&lt;/td&gt;
 &lt;td&gt;Sit anywhere, seats may change&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In this way, a StatefulSet is like &amp;ldquo;having reserved seats and personal lockers so you always use the same seat and the same belongings.&amp;rdquo;&lt;/p&gt;</description></item><item><title>RBAC</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/rbac/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/rbac/</guid><description>&lt;h2 id="overall-analogy-building-access-card-system"&gt;Overall Analogy: Building Access Card System&lt;a class="anchor" href="#overall-analogy-building-access-card-system"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;RBAC is easy to understand when compared to &lt;strong&gt;a building access card system&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Building Access Analogy&lt;/th&gt;
 &lt;th&gt;Kubernetes RBAC&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Access permission set (3rd floor server room access)&lt;/td&gt;
 &lt;td&gt;Role&lt;/td&gt;
 &lt;td&gt;Define allowed operations within a specific Namespace&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Master key for all buildings&lt;/td&gt;
 &lt;td&gt;ClusterRole&lt;/td&gt;
 &lt;td&gt;Define allowed operations across the entire cluster&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Grant permission to employee badge&lt;/td&gt;
 &lt;td&gt;RoleBinding&lt;/td&gt;
 &lt;td&gt;Assign a Role to a user&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Grant access to all branches&lt;/td&gt;
 &lt;td&gt;ClusterRoleBinding&lt;/td&gt;
 &lt;td&gt;Assign a ClusterRole to a user&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Employee badge&lt;/td&gt;
 &lt;td&gt;ServiceAccount&lt;/td&gt;
 &lt;td&gt;Authentication identity used by Pods&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;Access only necessary areas&amp;rdquo; principle&lt;/td&gt;
 &lt;td&gt;Principle of Least Privilege&lt;/td&gt;
 &lt;td&gt;Grant only required permissions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In this way, RBAC is like systematically managing &amp;ldquo;who can do what and where.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Jobs and CronJobs</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/jobs/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/jobs/</guid><description>&lt;h2 id="overall-analogy-part-time-work-and-scheduled-cleaning"&gt;Overall Analogy: Part-Time Work and Scheduled Cleaning&lt;a class="anchor" href="#overall-analogy-part-time-work-and-scheduled-cleaning"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Jobs and CronJobs are easy to understand when compared to &lt;strong&gt;part-time work and scheduled cleaning&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Analogy&lt;/th&gt;
 &lt;th&gt;Kubernetes&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;One-time part-time work&lt;/td&gt;
 &lt;td&gt;Job&lt;/td&gt;
 &lt;td&gt;A task that runs once and finishes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Scheduled cleaning routine&lt;/td&gt;
 &lt;td&gt;CronJob&lt;/td&gt;
 &lt;td&gt;A task that runs periodically on a schedule&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Hire 3 workers&lt;/td&gt;
 &lt;td&gt;completions: 3&lt;/td&gt;
 &lt;td&gt;Number of successful completions required&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Deploy 2 workers at once&lt;/td&gt;
 &lt;td&gt;parallelism: 2&lt;/td&gt;
 &lt;td&gt;Number of Pods to run simultaneously&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Maximum retry attempts&lt;/td&gt;
 &lt;td&gt;backoffLimit&lt;/td&gt;
 &lt;td&gt;Retry limit on failure&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Work deadline&lt;/td&gt;
 &lt;td&gt;activeDeadlineSeconds&lt;/td&gt;
 &lt;td&gt;Overall time limit for the task&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In this way, a Job is &amp;ldquo;a task that finishes once the assigned work is done,&amp;rdquo; and a CronJob is &amp;ldquo;a scheduled task that runs repeatedly at set times.&amp;rdquo;&lt;/p&gt;</description></item><item><title>NetworkPolicy</title><link>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/network-policy/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/kubernetes/concepts/network-policy/</guid><description>&lt;h2 id="overall-analogy-apartment-complex-firewall"&gt;Overall Analogy: Apartment Complex Firewall&lt;a class="anchor" href="#overall-analogy-apartment-complex-firewall"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;NetworkPolicy is easy to understand when compared to &lt;strong&gt;an apartment complex access control system&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Apartment Complex Analogy&lt;/th&gt;
 &lt;th&gt;Kubernetes NetworkPolicy&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Per-wing access control rules&lt;/td&gt;
 &lt;td&gt;NetworkPolicy&lt;/td&gt;
 &lt;td&gt;Define traffic allow/block between Pods&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;Only Wing 101 residents allowed&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;podSelector&lt;/td&gt;
 &lt;td&gt;Select target Pods for the policy&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;Delivery person only to lobby&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Ingress rules&lt;/td&gt;
 &lt;td&gt;Control incoming traffic&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;Packages sent through security&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Egress rules&lt;/td&gt;
 &lt;td&gt;Control outgoing traffic&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Security system (CCTV, key cards)&lt;/td&gt;
 &lt;td&gt;CNI plugin&lt;/td&gt;
 &lt;td&gt;Network engine that enforces policies&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;No rules means free access&lt;/td&gt;
 &lt;td&gt;Default Allow All&lt;/td&gt;
 &lt;td&gt;All traffic allowed when no NetworkPolicy is set&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In this way, NetworkPolicy is like firewall rules that control &amp;ldquo;which Pods can communicate with which Pods.&amp;rdquo;&lt;/p&gt;</description></item></channel></rss>