<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: &lt;dotman/&gt;</title>
    <description>The latest articles on DEV Community by &lt;dotman/&gt; (@dotun2203).</description>
    <link>https://dev.to/dotun2203</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F698246%2F88e99155-5ad3-4bf8-95e7-d64eb0f2f5d3.png</url>
      <title>DEV Community: &lt;dotman/&gt;</title>
      <link>https://dev.to/dotun2203</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dotun2203"/>
    <language>en</language>
    <item>
      <title>Kubernetes Architecture Explained: The core components that run your cluster</title>
      <dc:creator>&lt;dotman/&gt;</dc:creator>
      <pubDate>Wed, 23 Sep 2026 22:15:41 +0000</pubDate>
      <link>https://dev.to/dotun2203/kubernetes-architecture-explained-the-core-components-that-run-your-cluster-3nap</link>
      <guid>https://dev.to/dotun2203/kubernetes-architecture-explained-the-core-components-that-run-your-cluster-3nap</guid>
      <description>&lt;p&gt;You have containerized your application with Docker and you need to run 100 copies across 20 servers, restart the containers when they crash, scale up or increase resources at users spike, plan updates without downtimes, doing that by hand(manually) is chaotic, that’s where kubernetes comes in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Docker — Minikube uses it to run your cluster. Install from the official docs: &lt;a href="https://docs.docker.com/get-started/get-docker/" rel="noopener noreferrer"&gt;https://docs.docker.com/get-started/get-docker/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Minikube — runs a single-node Kubernetes cluster on your machine. Pick your operating system here: &lt;a href="https://minikube.sigs.k8s.io/docs/start/" rel="noopener noreferrer"&gt;https://minikube.sigs.k8s.io/docs/start/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kubectl — the command-line tool you use to talk to the cluster: &lt;a href="https://kubernetes.io/docs/tasks/tools/" rel="noopener noreferrer"&gt;https://kubernetes.io/docs/tasks/tools/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll also want at least 2 CPUs, 2 GB of free RAM and 20 GB of free disk space, plus a decent internet connection for the first start, since Minikube downloads its images then.&lt;/p&gt;

&lt;p&gt;Once installed, confirm everything is ready:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
docker - version
minikube version
kubectl version - client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What is Kubernetes
&lt;/h2&gt;

&lt;p&gt;Kubernetes also known as k8s is an open-source software used in managing software application containers anywhere automatically. The management includes service discovery, load balancing, safe updates(rollouts and rollbacks), self healing, secret management. K8s takes care of these tasks automatically so your application stays online, secure and up to date with minimal manual intervention.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core components of Kubernetes architecture
&lt;/h2&gt;

&lt;p&gt;For kubernetes to perform the way it does, a cluster is split into two major parts: the control place and the worker nodes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The control plane: The control plane manages the overall state of the cluster. They make global decisions about the cluster, detecting and responding to cluster events.&lt;/li&gt;
&lt;li&gt;Worker node: Node components run on every node, maintain every pod, and provide the Kubernetes runtime environment. This is where your underlying applications actually run, processing workloads and handling the data traffic directed to your containers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How they work together
&lt;/h2&gt;

&lt;p&gt;Here is a simple diagram that provides a high-level overview of the essential components that make up a Kubernetes cluster&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foonzkq2ib4yl0bpvjee9.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foonzkq2ib4yl0bpvjee9.webp" alt=" " width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Control plane components
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;kube-apiserver: this is the core component server and called the API server. It exposes the kubernetes HTTP API. It is the frontend for the kubernetes control plane.&lt;/li&gt;
&lt;li&gt;etcd: this is a highly available and consistent key-value store for all cluster data.&lt;/li&gt;
&lt;li&gt;kube-scheduler: this looks for pods that are not yet bound to a node and assigns the pod to a suitable node.&lt;/li&gt;
&lt;li&gt;kube-controller-manager:runs the controller to implement k8s API behaviour&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Worker node components
&lt;/h2&gt;

&lt;p&gt;This includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;kubelet: They ensure the pods are running, also their containers&lt;/li&gt;
&lt;li&gt;kube-proxy: maintains network rules on nodes to implement services&lt;/li&gt;
&lt;li&gt;container runtime: they run the containers, manage the execution and lifecycle of containers within the Kubernetes environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  See the components in action
&lt;/h2&gt;

&lt;p&gt;You don’t need a cloud account to explore these components. Tools like minikube or kind let you run a kubernetes cluster on your own laptop. For this walkthrough, we would use minikube.&lt;/p&gt;

&lt;p&gt;After installing the necessary requirements&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start a cluster
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;minikube start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a single-node cluster where one machine plays the role of both the controller plane and the worker node.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check your nodes
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;kubectl get nodes -o wide
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is what your result would look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NAME       STATUS   ROLES           AGE   VERSION   ...   CONTAINER-RUNTIME
minikube   Ready    control-plane   2m    v1.31.0   ...   docker://27.2.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You would notice the &lt;code&gt;ROLES&lt;/code&gt; column shows the node is running in the control plane. The &lt;code&gt;STATUS&lt;/code&gt; as &lt;code&gt;Ready&lt;/code&gt; means the kubelet on this node is healthy and reporting back to the API server. The &lt;code&gt;CONTAINER-RUNTIME&lt;/code&gt; column shows which runtime is actually running your containers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Look inside the kube-system namespace
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl get pods &lt;span class="nt"&gt;-n&lt;/span&gt; kube-system
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NAME                               READY   STATUS    RESTARTS   AGE
coredns-6f6b679f8f-x7k2p           1/1     Running   0          3m
etcd-minikube                      1/1     Running   0          3m
kube-apiserver-minikube            1/1     Running   0          3m
kube-controller-manager-minikube   1/1     Running   0          3m
kube-proxy-9zq4m                   1/1     Running   0          3m
kube-scheduler-minikube            1/1     Running   0          3m
storage-provisioner                1/1     Running   0          3m
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The components we discussed earlier are running as pods inside the cluster itself: &lt;code&gt;kube-apiserver-minikube, etcd-minikube, kube-scheduler-minikube and kube-controller-manager-minikube&lt;/code&gt; are the control plane components. &lt;code&gt;kube-proxy-9zq4m&lt;/code&gt; is the worker node networking component. It runs on every node in the cluster.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;coredns&lt;/code&gt; is an add-on that provides DNS so services can find eachother by name. It is not a core component, but you will see it in almost every cluster.&lt;/p&gt;

&lt;p&gt;Also note you won’t find the container runtime and the kubelet in that list, it is intentional. The kubelet is the component that starts the pods, so it won’t run as a pod itself. It runs directly on the node as a system service. You can confirm this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;minikube ssh
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl status kubectl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You would see the kubelet as &lt;code&gt;active(running)&lt;/code&gt;. You can type &lt;code&gt;exit&lt;/code&gt; to leave the node.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common misconceptions about Kubernetes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;“Kubernetes runs my containers” — Kubernetes ochestrates containers, it decides where they should run, how many should exist, and what to do when a container fails. The actual running of the container is done by the container runtime in each worker node. Kubernetes gives the instructions; the runtime does the work.&lt;/li&gt;
&lt;li&gt;“The components talk to each other directly” — They don’t. The API server is the central hub for everything. Everything goes through the server first: individual components communicate exclusively with it, while other services constantly watch the API server for changes, pulling down the specific updates they care about.&lt;/li&gt;
&lt;li&gt;“etcd is where I store my application’s data” — etcd stores the cluster’s data: what pods exist, what deployment look like, configguration and state. It is not a general purpopse database for your application. You application’s data belongs in a proper database like PostgresSQL or MongoDB, running inside or outside the cluster.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Recap
&lt;/h2&gt;

&lt;p&gt;Kubernetes can feel overwhelming at first, but its architecture comes down to a simple division of labour:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The control plane decides&lt;/strong&gt;. The API server is the front door for every request, etcd stores the cluster’s state, the scheduler assigns pods to nodes, and the controller manager keeps checking that what’s running matches what you asked for.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The worker nodes execute&lt;/strong&gt;. The kubelet makes sure pods and their containers are running, kube-proxy handles networking so traffic reaches the right pods, and the container runtime actually runs the containers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Everything flows through the API server&lt;/strong&gt;. No component works in isolation; they all coordinate through this single hub.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that you understand the core components of the kubernetes cluster, the next step is learning what the cluster manages.&lt;/p&gt;

&lt;p&gt;You should look into the three objects you’ll use most as a Kubernetes user:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pods&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;li&gt;Services&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cloud</category>
      <category>devops</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Hey Guys, GRWM...</title>
      <dc:creator>&lt;dotman/&gt;</dc:creator>
      <pubDate>Sun, 26 Jul 2026 23:06:34 +0000</pubDate>
      <link>https://dev.to/dotun2203/hey-guys-grwm-9a0</link>
      <guid>https://dev.to/dotun2203/hey-guys-grwm-9a0</guid>
      <description>&lt;p&gt;I get it. Content creation is the order of the day. Heck, we are in the era known as the creator economy.&lt;/p&gt;

&lt;p&gt;You can hardly scroll through any social media platform without stumbling on dozens, if not hundreds, off GRWMs, OOTDs, ASMRs (I still don't know what this means, honestly 😂), "day in my life" vlogs, and everything in between. People now turn fragments of their everyday lives into what we simply call “content”&lt;/p&gt;

&lt;p&gt;I've been thinking about whether the “contentification of our lives” as an X user termed it,  is actually a good thing or a bad thing. Whenever I weigh questions like this, I try to judge them by their net effect. If the positives outweigh the negatives, then I can comfortably say it's worth it. And here's why I think the ‘contentification’ of our lives might just be one of the best things to happen to us in this era.&lt;/p&gt;

&lt;p&gt;First, I think there's something deeply human about people choosing to share little fragments of their lives with the rest of us. More than ever, I'm grateful to content creators. And I mean that sincerely.&lt;/p&gt;

&lt;p&gt;We all use the internet today. But the internet is only as valuable as what people choose to put into it. Every laugh, every lesson, every recipe you saved, every travel vlog that made you want to pack a bag, every burst of motivation after watching someone else's journey—they all exist because someone, somewhere, decided their experience was worth sharing.&lt;/p&gt;

&lt;p&gt;Picture this: You're facing a challenging situation. You head to Google, type a few keywords, and boom. There are ordinary people from all over the world sharing how they've been there and done that.&lt;/p&gt;

&lt;p&gt;They leave a trail for you to follow. They say, "I walked this path. Here's what I learned." Sometimes I imagine how less valuable the internet would be if nobody shared anything worth learning from. Just empty servers humming in the void.&lt;/p&gt;

&lt;p&gt;Now, does this mean every creator adds value? Of course not.&lt;/p&gt;

&lt;p&gt;There will always be extremes. There are creators whose content adds little or nothing to the lives of the people watching. There are creators who overshare. But that's the price of abundance. You have the freedom to decide what deserves your attention. For those of us who hardly travel, the internet has become a passport.&lt;/p&gt;

&lt;p&gt;And I'm not even talking about overseas travel. If you've spent your whole life in one village, one town, or even the same city, the internet lets you experience places you may never have the chance to visit through the eyes of someone who has.&lt;/p&gt;

&lt;p&gt;We've always ‘contentified’ our lives. We just called it different things. &lt;/p&gt;

&lt;p&gt;Early humans left cave paintings behind. We learned about distant places through books, documentaries, and movies—someone else's polished, carefully edited version of reality. Today, someone just like you can take you along as they explore a city, try a new restaurant, or visit a hidden beach.&lt;/p&gt;

&lt;p&gt;It feels less like watching a story and more like living it with them.&lt;/p&gt;

&lt;p&gt;That GRWM to a restaurant? It's an unfiltered glimpse into an experience you might have one day yourself. And when you eventually visit that place, it already feels strangely familiar because someone decided to contentify a tiny piece of their life.&lt;/p&gt;

&lt;p&gt;There's no real difference between an author writing about their travel experience in a book or on a blog and a creator documenting theirs on social media. The medium has only changed. But the instinct hasn't. They are both forms of documenting our lives. The only difference is that today, you don't just imagine it. You see it. You can almost taste it. The experience is all in your face. &lt;/p&gt;

&lt;p&gt;Content creation is hard work, and I think we should respect it a lot more. Two days ago, I saw a guy filming himself during his early morning run. How inconvenient, I thought. I recently started running myself, and I couldn't imagine how stressful that must have been. Why put yourself through all that? Why not just enjoy your run quietly without telling the internet about it?&lt;/p&gt;

&lt;p&gt;But then, another thought crossed my mind. What if someone watching that video has spent months telling themselves they'll start running "next Monday"? What if watching him struggle through those kilometres is exactly the push they need? I started my running journey because I have friends who run. Watching them made me think, Maybe I could do this too.&lt;/p&gt;

&lt;p&gt;Some people don't have friends like that. Sometimes the closest thing they have to a role model is someone they've never met; someone who simply decided to share a piece of their life online. That is the quiet power of content.&lt;br&gt;
It makes possibilities feel possible.&lt;/p&gt;

&lt;p&gt;And in a country like Nigeria, this is also how many young people make a living. Our creator economy is still growing, but it has already opened doors that didn't exist a decade ago. Creating content asks you to do something many people struggle with. It asks you to be seen. It takes consistency and it takes a lot of courage.&lt;/p&gt;

&lt;p&gt;So the next time you see someone sharing a piece of content online, pause for a second. Think about the joy it brings you. Think about the person it might inspire. Think about the opportunities it has created for the person behind the camera. Maybe that's why we should ‘’contentify’  our life&lt;/p&gt;

&lt;p&gt;One human being saying to another, "This is what my little corner of the world looks like." It could be entertaining. Or it could be educational.  Whatever it is,  it's exactly the reassurance someone else needed.&lt;/p&gt;

&lt;p&gt;And honestly, I think we're better for it.&lt;/p&gt;

&lt;p&gt;So if you're a content creator, never stop creating. You never really know whose life you're changing.&lt;/p&gt;

&lt;p&gt;P.S. If you also think there's simply too much to consume and it all starts feeling overwhelming, maybe it's time to step away from the internet for a while.&lt;/p&gt;

&lt;p&gt;Or maybe… Start creating instead of only consuming Thank you for reading.&lt;/p&gt;

&lt;p&gt;Written by - SOG &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
