<?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: Anil Kumar</title>
    <description>The latest articles on DEV Community by Anil Kumar (@anil_kumar_ff4f6ad3549983).</description>
    <link>https://dev.to/anil_kumar_ff4f6ad3549983</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2301970%2F22e06124-2d18-4646-b368-1bb0b52415b8.jpg</url>
      <title>DEV Community: Anil Kumar</title>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anil_kumar_ff4f6ad3549983"/>
    <language>en</language>
    <item>
      <title>𝗟𝗲𝘁'𝘀 𝗧𝗮𝗹𝗸 𝗔𝗯𝗼𝘂𝘁 𝗣𝗩 𝗠𝗶𝗴𝗿𝗮𝘁𝗶𝗼𝗻!🚀</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Fri, 10 Oct 2025 02:28:46 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/--2n3h</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/--2n3h</guid>
      <description>&lt;p&gt;𝗛𝗲𝗹𝗹𝗼 𝗖𝗹𝗼𝘂𝗱𝗲𝗲𝘀 ☁️!&lt;/p&gt;

&lt;p&gt;𝗟𝗲𝘁'𝘀 𝗧𝗮𝗹𝗸 𝗔𝗯𝗼𝘂𝘁 𝗣𝗩 𝗠𝗶𝗴𝗿𝗮𝘁𝗶𝗼𝗻!&lt;br&gt;
👨‍💻 𝐀𝐧𝐢𝐥: Hey Rakhul! Have you ever faced a challenge where you needed to upgrade storage, migrate to a different provider, or change storage classes?&lt;br&gt;
👨‍💻 𝐑𝐚𝐤𝐡𝐮𝐥: Yes, Anil! But honestly, I have no idea how to do it. Can you guide me?&lt;br&gt;
👨‍🏫 𝐀𝐧𝐢𝐥: Of course! No worries, I’ll explain it in a simple way. Let’s dive in! 🔥&lt;/p&gt;




&lt;p&gt;🔄 𝐖𝐡𝐲 𝐃𝐨 𝐖𝐞 𝐍𝐞𝐞𝐝 𝐭𝐨 𝐌𝐢𝐠𝐫𝐚𝐭𝐞 𝐃𝐚𝐭𝐚 𝐟𝐫𝐨𝐦 𝐎𝐧𝐞 𝐏𝐕 𝐭𝐨 𝐀𝐧𝐨𝐭𝐡𝐞𝐫?&lt;br&gt;
🔹 Upgrading Storage Classes – Moving from an old, slower storage class (standard) to a new, faster one (ssd).&lt;br&gt;
🔹 Switching Cloud Providers – Migrating from AWS EBS → Google Persistent Disk or any other provider.&lt;br&gt;
🔹 Scaling Storage – If your PV is full and cannot be resized, you need a bigger PV.&lt;br&gt;
🔹 Stateful Application Upgrades – Moving a MySQL database or other persistent apps to a new PV.&lt;br&gt;
🔹 Backups &amp;amp; Disaster Recovery – Keeping data safe from accidental deletion, corruption, or failures.&lt;/p&gt;




&lt;p&gt;⚡ 𝐏𝐫𝐞-𝐑𝐞𝐪𝐮𝐢𝐬𝐢𝐭𝐞𝐬 𝐟𝐨𝐫 𝐌𝐢𝐠𝐫𝐚𝐭𝐢𝐨𝐧:&lt;/p&gt;

&lt;p&gt;✅ Two PVs (Old &amp;amp; New) and Two PVCs (Old &amp;amp; New)&lt;br&gt;
 ✅ Set the old PV's Reclaim Policy to "Retain"&lt;/p&gt;




&lt;p&gt;🔥 𝐓𝐰𝐨 𝐌𝐞𝐭𝐡𝐨𝐝𝐬 𝐭𝐨 𝐏𝐞𝐫𝐟𝐨𝐫𝐦 𝐌𝐢𝐠𝐫𝐚𝐭𝐢𝐨𝐧:&lt;/p&gt;

&lt;p&gt;🅰️ 𝑂𝑝𝑡𝑖𝑜𝑛 1: Use the Old Data in a New Pod&lt;br&gt;
Best if you just need a new Pod with existing data.&lt;br&gt;
Steps:&lt;br&gt;
 ✅ Set PV Reclaim Policy to "Retain"&lt;br&gt;
 ✅ Delete the old Pod &amp;amp; PVC (but keep the PV!)&lt;br&gt;
 ✅ Edit the PV to remove the claimRef block (makes it available)&lt;br&gt;
 ✅ Create a new PVC&lt;br&gt;
 ✅ Create a new Pod and attach old-PV + new-PVC&lt;/p&gt;

&lt;p&gt;⚠️ 𝑃𝑜𝑡𝑒𝑛𝑡𝑖𝑎𝑙 𝑅𝑖𝑠𝑘𝑠:&lt;br&gt;
 ❗ If you need a fresh PV with no old data, manually clean it before binding.&lt;br&gt;
 ❗ If the StorageClass differs, Kubernetes won’t auto-bind it.&lt;br&gt;
 ❗ If another pod is still using old-PV, conflicts might arise.&lt;br&gt;
 ❗ If old-PV is ReadWriteOnce (RWO), it cannot be mounted to multiple pods simultaneously.&lt;/p&gt;




&lt;p&gt;🅱️ 𝑂𝑝𝑡𝑖𝑜𝑛 2: Migrate/Copy Data from Old-PV to New-PV&lt;br&gt;
Best if you need a fresh PV with a new setup but want to retain old data.&lt;br&gt;
Steps:&lt;br&gt;
 ✅ Set the old PV’s Reclaim Policy to "Retain"&lt;br&gt;
 ✅ Create a new PV &amp;amp; PVC&lt;br&gt;
 ✅ Create a temporary migration pod that copies data from old-PV → new-PV&lt;/p&gt;

&lt;p&gt;📌 𝐵𝑜𝑛𝑢𝑠: I’ve attached a detailed code snippet and workflow in the image below! Check it out! 🚀&lt;/p&gt;

&lt;p&gt;👨‍💻 𝐑𝐚𝐤𝐡𝐮𝐥: Wow, that makes so much sense! I’ll start working on it right away. Thanks, Anil! 😃&lt;/p&gt;




&lt;p&gt;🔽 What’s Your Experience with PV Migration? 🔽&lt;br&gt;
 💬 Drop your thoughts &amp;amp; questions in the comments! Let’s discuss. 👇🔥&lt;/p&gt;

&lt;h1&gt;
  
  
  CloudComputing #Kubernetes #K8s #Containers #DevOps #CloudNative
&lt;/h1&gt;

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

</description>
      <category>cloud</category>
      <category>kubernetes</category>
      <category>devops</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>🌟 Persist your data with PV and PVC 🌟</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Sun, 11 May 2025 13:57:22 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/persist-your-data-with-pv-and-pvc-4pf8</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/persist-your-data-with-pv-and-pvc-4pf8</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2z0svthsb4monq3oalyx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2z0svthsb4monq3oalyx.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

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

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

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

&lt;p&gt;Hello Cloudees ☁️!&lt;br&gt;
🚀 Mastering Persistent Storage in Kubernetes! ☁️&lt;br&gt;
 🔹 Ever lost important data when a pod restarted?&lt;br&gt;
 🔹 Want to ensure your applications have reliable storage in K8s?&lt;/p&gt;

&lt;p&gt;Let’s break it down! ⬇️&lt;br&gt;
Before getting into the main topic let's understand the terms.&lt;/p&gt;

&lt;p&gt;🆚 𝐸𝑝ℎ𝑒𝑚𝑒𝑟𝑎𝑙 𝑣𝑠 𝑃𝑒𝑟𝑠𝑖𝑠𝑡𝑒𝑛𝑡 𝑆𝑡𝑜𝑟𝑎𝑔𝑒:&lt;br&gt;
✅ 𝑬𝒑𝒉𝒆𝒎𝒆𝒓𝒂𝒍 𝒔𝒕𝒐𝒓𝒂𝒈𝒆: Data is tied to the lifecycle of the pod, when the pod is deleted/restart the data is lost. 📝 Example: emptyDir()&lt;br&gt;
✅𝑷𝒆𝒓𝒔𝒊𝒔𝒕𝒆𝒏𝒕 𝒔𝒕𝒐𝒓𝒂𝒈𝒆: Data is independent irrespective of the pod lifecycle. It can be reused by other pods. 📝 Example: PVs, cloud storage, NFS&lt;/p&gt;

&lt;p&gt;In Persistent storage concept we have "Persistent Volume"&lt;br&gt;
❓What is Persistent Volume?&lt;br&gt;
✅ It is a piece of storage that has been provisioned(allocated) and made available to use by the pods.&lt;br&gt;
 📌 Fixed storage (static/dynamic provisioning)&lt;br&gt;
 📌 Flexible storage (thin provisioning)&lt;/p&gt;

&lt;p&gt;🟠𝑳𝒊𝒇𝒆𝑪𝒚𝒄𝒍𝒆 𝒐𝒇 𝑷𝑽:&lt;br&gt;
1️⃣ 𝘗𝘳𝘰𝘷𝘪𝘴𝘪𝘰𝘯𝘪𝘯𝘨: Created manually (admin) or dynamically (StorageClass). Three types of provisioning ( Static, Dynamic, Thin)&lt;br&gt;
2️⃣ 𝘉𝘪𝘯𝘥𝘪𝘯𝘨: PVs bind to Persistent Volume Claims (PVCs) when storage requirements match.&lt;br&gt;
3️⃣ 𝘜𝘴𝘢𝘨𝘦: Pods access storage via PVCs.&lt;br&gt;
4️⃣ 𝘙𝘦𝘤𝘭𝘢𝘪𝘮𝘪𝘯𝘨:  When a PVC is deleted, the PV follows its Reclaim Policy (Retain, Delete, Recycle (deprecated)).&lt;/p&gt;

&lt;p&gt;✅ 𝑷𝒓𝒐𝒔 &amp;amp; ❌ 𝑪𝒐𝒏𝒔 𝒐𝒇 𝑼𝒔𝒊𝒏𝒈 𝑷𝑽𝒔&lt;br&gt;
✅ 𝑷𝒓𝒐𝒔: &lt;br&gt;
✔️ Data will be still available even if the pod deleted.&lt;br&gt;
✔️ PV's can be backed by various types of storage ( Local Disks, network-attached storage/cloud based storage), providing the flexibility in choosing the right storage solution for our needs.&lt;br&gt;
❌ 𝑪𝒐𝒏𝒔:&lt;br&gt;
⚠️ Setup &amp;amp; management complexity, especially with different storage backends.&lt;br&gt;
⚠️ Cross-environment PV management requires monitoring &amp;amp; resource management.&lt;/p&gt;

&lt;p&gt;🎯 𝑵𝒆𝒙𝒕 𝑻𝒐𝒑𝒊𝒄: Migrating data between Persistent Volumes!&lt;br&gt;
💡 𝐻𝑜𝑤 𝑎𝑟𝑒 𝑦𝑜𝑢 𝑢𝑠𝑖𝑛𝑔 𝑃𝑒𝑟𝑠𝑖𝑠𝑡𝑒𝑛𝑡 𝑆𝑡𝑜𝑟𝑎𝑔𝑒 𝑖𝑛 𝐾𝑢𝑏𝑒𝑟𝑛𝑒𝑡𝑒𝑠? 𝐷𝑟𝑜𝑝 𝑦𝑜𝑢𝑟 𝑡ℎ𝑜𝑢𝑔ℎ𝑡𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑐𝑜𝑚𝑚𝑒𝑛𝑡𝑠! 👇&lt;/p&gt;

</description>
      <category>cloudcomputing</category>
      <category>devops</category>
      <category>automation</category>
      <category>aws</category>
    </item>
    <item>
      <title>🔥Virtual cluster inside a K8S cluster 🔥</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Sun, 11 May 2025 11:59:42 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/virtual-cluster-inside-a-k8s-cluster-42ao</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/virtual-cluster-inside-a-k8s-cluster-42ao</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftsl75epqtka82kd2kbqm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftsl75epqtka82kd2kbqm.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

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

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

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

&lt;p&gt;🌟Let's understand the concept of virtual cluster inside a "physical cluster in K8S !!"🌟 &lt;/p&gt;

&lt;p&gt;When we are working with a large account/organization we generally come across different types of teams/applications but everything in a single large cluster???? sounds make it very difficult to even imagine. What if we have an isolation between all those and draw some boundaries, set limits and organize?,&lt;/p&gt;

&lt;p&gt;There comes a topic called "𝑵𝒂𝒎𝒆𝑺𝒑𝒂𝒄𝒆"&lt;/p&gt;

&lt;p&gt;✨ What is it ?&lt;br&gt;
1️⃣ It is a K8S object which creates virtual clusters inside the physical cluster&lt;/p&gt;

&lt;p&gt;2️⃣ It is a way to divide one physical/main cluster into multiple virtual clusters and provides logical boundaries within the cluster and isolates the resources from being mismanaged.&lt;/p&gt;

&lt;p&gt;Why do we need Namespaces? &lt;br&gt;
1️⃣ Teams/projects can use the same cluster without interfering eachother.&lt;br&gt;
2️⃣ Makes it easier to group resources like pods/SVC/configMaps.. logically.&lt;br&gt;
3️⃣ We can manage clusters with thousands of resources easily.&lt;br&gt;
4️⃣ It will Allow us to manage permissions and access controls and restrict the access to specific resources.&lt;/p&gt;




&lt;p&gt;🌟 How NameSpace(NS) work in K8S?&lt;br&gt;
1️⃣ Resource Scope:&lt;br&gt;
✅ NS are applied to namespaced objects like Pods,SVC's, configMaps &amp;amp; Secrets.&lt;br&gt;
✅ Some resources like Nodes &amp;amp; Persistent volumes are cluster wide, not namespaced.&lt;br&gt;
✅ Resources with same name can exist in different NS without conflict.&lt;/p&gt;

&lt;p&gt;2️⃣ CPU &amp;amp; Memory limits:&lt;br&gt;
✅ we can restrict/set boundaries that how much amount of resources can be consumed.&lt;br&gt;
✅ we can restrict how many resources can be inside the created Namespace ( ex: 5 pods/10pods).&lt;/p&gt;

&lt;p&gt;3️⃣ Managing NS:&lt;br&gt;
✅ It is always ideal to manage the NS with manifest files instead of commands for better flexibility, re-use, simple management and changes are predicted and documented.&lt;/p&gt;

&lt;p&gt;4️⃣ Default NameSpaces: (important)❗&lt;/p&gt;

&lt;p&gt;✅ 𝑫𝒆𝒇𝒂𝒖𝒍𝒕: Used when we don't mention any specific namespace.&lt;br&gt;
✅𝑲𝒖𝒃𝒆-𝒔𝒚𝒔𝒕𝒆𝒎: Contains critical system components like kube-dns &amp;amp; other controllers. ( Restricted to use until you know what you are doing).&lt;br&gt;
✅ 𝑲𝒖𝒃𝒆-𝒑𝒖𝒃𝒍𝒊𝒄: Commonly used for cluster-level configuration/information which are meant to be publicly accessible accross the cluster.&lt;br&gt;
✅ 𝑲𝒖𝒃𝒆-𝒏𝒐𝒅𝒆-𝒍𝒆𝒂𝒔𝒆: Used to manage the heartbeats of nodes for the node controller.&lt;/p&gt;

&lt;p&gt;5️⃣ ResourceQuotas and LimitRanges:&lt;/p&gt;

&lt;p&gt;✅ 𝑹𝒆𝒔𝒐𝒖𝒓𝒄𝒆𝑸𝒖𝒐𝒕𝒂: Enforce overall usage limits for the Namespace ( ex: total CPU/memory/no. of pods can be created).&lt;/p&gt;

&lt;p&gt;✅ 𝑳𝒊𝒎𝒊𝒕𝑹𝒂𝒏𝒈𝒆𝒔: Define per-resource limits within the Namespace ( ex: max&amp;amp; min CPU/memory per pod/container).&lt;/p&gt;




&lt;p&gt;Use Cases:&lt;br&gt;
✨ Large organisations with multiple teams/applications.&lt;br&gt;
✨ managing different environments with in same cluster ( dev/stage/prod)&lt;br&gt;
✨ when permissions and limits required.&lt;/p&gt;

&lt;p&gt;Note📝: In detail information of ResourceQuota, LimitRange, Pros, Cons and best practices given in image format.&lt;/p&gt;

&lt;p&gt;Comment down your thoughts 💭&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>programming</category>
      <category>devops</category>
      <category>automation</category>
    </item>
    <item>
      <title>🌟Understandig the power of ConfigMaps and Secrets🌟</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Fri, 28 Mar 2025 01:05:36 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/understandig-the-power-of-configmaps-and-secrets-36l6</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/understandig-the-power-of-configmaps-and-secrets-36l6</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuu3kbmq67ptpyl52ag75.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuu3kbmq67ptpyl52ag75.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0by2odmytkbqrtc5vgj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0by2odmytkbqrtc5vgj.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa78v0nxfw3nc2awho1f2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa78v0nxfw3nc2awho1f2.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Hello, Cloudees ☁️!&lt;/p&gt;

&lt;p&gt;🌟 Today, let's explore the key differences between 𝑲𝒖𝒃𝒆𝒓𝒏𝒆𝒕𝒆𝒔 𝑪𝒐𝒏𝒇𝒊𝒈𝑴𝒂𝒑𝒔 &amp;amp; 𝑺𝒆𝒄𝒓𝒆𝒕𝒔! 🌟&lt;/p&gt;

&lt;p&gt;When it comes to 𝒂𝒑𝒑𝒍𝒊𝒄𝒂𝒕𝒊𝒐𝒏 𝒔𝒆𝒄𝒖𝒓𝒊𝒕𝒚, everyone agrees on its importance. One best practice is to separate configuration data, such as user IDs, passwords, or other sensitive information, from the application code. But how can we achieve this? That’s where ConfigMaps and Secrets come into play!&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding ConfigMaps vs. Secrets
&lt;/h2&gt;

&lt;p&gt;𝑪𝒐𝒏𝒇𝒊𝒈𝑴𝒂𝒑𝒔:&lt;/p&gt;

&lt;p&gt;A Kubernetes object for storing non-confidential configuration data (e.g., config files, URLs) as key-value pairs.&lt;/p&gt;

&lt;p&gt;Characteristics:&lt;br&gt;
1️⃣ Stored in plain text.&lt;br&gt;
2️⃣ Allows configuring applications without modifying container images.&lt;br&gt;
3️⃣ No built-in encryption.&lt;/p&gt;

&lt;p&gt;Pros:&lt;br&gt;
✅ Separates configuration data from application code.&lt;br&gt;
✅ Enables dynamic updates without rebuilding images or restarting applications.&lt;br&gt;
✅ Supports multiple key-value pairs.&lt;/p&gt;

&lt;p&gt;Cons:&lt;br&gt;
❌ Not suitable for sensitive data.&lt;br&gt;
❌ Requires careful management to avoid outdated or inconsistent data.&lt;/p&gt;

&lt;p&gt;Use Cases:&lt;br&gt;
1) Environment variables.&lt;br&gt;
2) Application settings.&lt;br&gt;
3) External service URLs.&lt;/p&gt;

&lt;p&gt;How to Create ConfigMaps (attached in picture format) :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From literals (command line).&lt;/li&gt;
&lt;li&gt;From files:
a) As environment variables.
b) As mounted volumes.
------------------------
𝑺𝒆𝒄𝒓𝒆𝒕𝒔:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A Kubernetes object designed to store sensitive data such as passwords, API keys, or tokens securely.&lt;/p&gt;

&lt;p&gt;Characteristics:&lt;br&gt;
1️⃣ Stored as Base64-encoded strings.&lt;br&gt;
2️⃣ Used to pass sensitive data securely to applications.&lt;br&gt;
3️⃣ Supports encryption at rest (when API server encryption is enabled).&lt;/p&gt;

&lt;p&gt;Pros:&lt;br&gt;
✅ Enhances security by managing sensitive data separately.&lt;br&gt;
✅ Provides fine-grained access control using RBAC.&lt;br&gt;
✅ Supports integration with external secret management tools (e.g., HashiCorp Vault).&lt;/p&gt;

&lt;p&gt;Cons:&lt;br&gt;
❌ Base64 encoding is not true encryption and requires additional measures.&lt;br&gt;
❌ May require external tools for optimal security practices (e.g., encryption at rest).&lt;/p&gt;

&lt;p&gt;Use Cases:&lt;br&gt;
1) Database credentials.&lt;br&gt;
2) OAuth tokens.&lt;br&gt;
3) SSL/TLS certificates.&lt;/p&gt;

&lt;p&gt;How to Create Secrets( attached in picture format):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From literals (command line).&lt;/li&gt;
&lt;li&gt;From files:
a) As environment variables.
b) As mounted volumes.
------------------------
Key Notes 📝:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;1️⃣ 𝑩𝒆𝒇𝒐𝒓𝒆 𝑼𝒔𝒆: ConfigMaps and Secrets must be created first before they can be used in a Pod.&lt;br&gt;
2️⃣ 𝑴𝒐𝒖𝒏𝒕𝒊𝒏𝒈:&lt;br&gt;
1) Both can be mounted as volumes.&lt;br&gt;
2) Ensure they are first mounted into the Pod as "volumes" before attaching them to containers as "volumeMounts" to avoid errors.&lt;br&gt;
3️⃣ 𝑺𝒆𝒄𝒖𝒓𝒊𝒕𝒚 𝑻𝒊𝒑: &lt;/p&gt;

&lt;h2&gt;
  
  
  Secrets are Base64-encoded, not encrypted by default. For enhanced security, enable encryption at rest or use external tools.
&lt;/h2&gt;

&lt;p&gt;💡 Comment your thoughts below! Let’s discuss more about Kubernetes and its powerful features.&lt;/p&gt;

&lt;p&gt;Follow Anil kumar ✅ for more content like this!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>security</category>
      <category>secret</category>
    </item>
    <item>
      <title>🌟 Unlocking Kubernetes Ingress: The Gateway to Simplified Traffic Management 🌟</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Sat, 15 Mar 2025 03:17:56 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/unlocking-kubernetes-ingress-the-gateway-to-simplified-traffic-management-582b</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/unlocking-kubernetes-ingress-the-gateway-to-simplified-traffic-management-582b</guid>
      <description>&lt;p&gt;Hey Cloudees ☁️!&lt;/p&gt;

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

&lt;p&gt;Managing application traffic in Kubernetes can be challenging, especially when have multiple services running. That's where 𝑲𝒖𝒃𝒆𝒓𝒏𝒆𝒕𝒆𝒔 𝑰𝒏𝒈𝒓𝒆𝒔𝒔 comes into play!&lt;/p&gt;

&lt;p&gt;Before getting into K8S Ingress first let's understand What is Layer 4 and Layer 7 Load Balancing.&lt;/p&gt;

&lt;p&gt;𝐋𝐚𝐲𝐞𝐫𝟒: &lt;br&gt;
👉 Operates at Transport layer of Operating System(TCP/UDP). It make decisions based on the available information in this transport layer. &lt;br&gt;
👉 It Doesn't have intelligence to transport based on the request.&lt;br&gt;
👉 Requires separate SSL Termination.&lt;/p&gt;

&lt;p&gt;Ex: K8S Load Balancer&lt;/p&gt;

&lt;p&gt;𝐋𝐚𝐲𝐞𝐫𝟕:&lt;br&gt;
👉 It Operates at Application level, it makes decisions based on application requests like http/https.&lt;br&gt;
👉 It has the intelligence to distribute the load based on the application requests ( ex: /login, /admin .. etc)&lt;br&gt;
👉 It can terminate SSL connections&lt;br&gt;
Ex: K8S Ingress, AWS LoadBalancer, Azure Application Gateway..&lt;/p&gt;




&lt;p&gt;𝑾𝒊𝒕𝒉𝒐𝒖𝒕 𝑰𝒏𝒈𝒓𝒆𝒔𝒔:&lt;br&gt;
👉 We cannot Expose our application externally by using clusterIP service.&lt;br&gt;
👉 Exposing the app via NodePort can be a security Concern.&lt;br&gt;
👉 Exposing app via LoadBalancer is much expensive and it will point only app/one service at a time. &lt;/p&gt;

&lt;p&gt;To checkmate all these there is a concept called " Ingress " &lt;/p&gt;

&lt;p&gt;𝑾𝒉𝒂𝒕 𝒊𝒔 𝑰𝒏𝒈𝒓𝒆𝒔𝒔? :&lt;/p&gt;

&lt;p&gt;Ingress is an API object in K8S that manages external HTTP/HTTPS access to services running in the K8S cluster.&lt;/p&gt;

&lt;p&gt;👉 It is a Layer7 load balancer.&lt;br&gt;
👉 It acts as an entry point to the K8S cluster.&lt;br&gt;
👉 It allows to define rules for routing incoming requests to the appropriate Services based on the URL path's / Host names.&lt;/p&gt;




&lt;p&gt;It has 2 components:&lt;br&gt;
✨ Ingress Controller&lt;br&gt;
✨ Ingress Resources&lt;/p&gt;

&lt;p&gt;🌟 𝑰𝒏𝒈𝒓𝒆𝒔𝒔 𝑪𝒐𝒏𝒕𝒓𝒐𝒍𝒍𝒆𝒓:&lt;br&gt;
It is a K8S object, While Ingress defines the routing rules, Ingress Controller watches for these rules and performs the routing.&lt;/p&gt;

&lt;p&gt;🌟 𝑰𝒏𝒈𝒓𝒆𝒔𝒔 𝑹𝒆𝒔𝒐𝒖𝒓𝒄𝒆𝒔:&lt;br&gt;
 It is a K8S object where we define the routing rules like how the load balancing should be done.&lt;/p&gt;




&lt;p&gt;𝑰𝒏𝒈𝒓𝒆𝒔𝒔 𝑨𝒓𝒄𝒉𝒊𝒕𝒆𝒄𝒕𝒖𝒓𝒆:&lt;/p&gt;

&lt;p&gt;After we create an Ingress resource in K8S. A Cloud provider LoadBalancing URL/IP will be assigned to access.&lt;/p&gt;

&lt;p&gt;👉 When users trying to access the application using LoadBalancing URL/IP address the traffic will first hit the Ingress controller&lt;br&gt;
👉 The Ingress Controller always watches the Ingress Resource rules/ for any modifications. &lt;br&gt;
👉 Based on the rules it will pass the request to the specific pod/Deployment service(ClusterIP). &lt;br&gt;
👉 Through internal communication the ClusterIP service will pass the request to the respective pod and the pod will carry forward the request.&lt;/p&gt;

&lt;p&gt;Workflow:&lt;br&gt;
User -&amp;gt; Cloud provider LoadBalancer -&amp;gt; Ingress Controller -&amp;gt; Service( ClusterIP) -&amp;gt; Pod.&lt;/p&gt;

&lt;p&gt;Note:&lt;br&gt;
👉 Here we need Service for each Deployment or Pod&lt;/p&gt;

&lt;p&gt;Do comment down your thoughts 💭&lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>containers</category>
      <category>networking</category>
    </item>
    <item>
      <title>🌐 𝐔𝐧𝐝𝐞𝐫𝐬𝐭𝐚𝐧𝐝𝐢𝐧𝐠 𝐊𝐮𝐛𝐞𝐫𝐧𝐞𝐭𝐞𝐬 𝐒𝐞𝐫𝐯𝐢𝐜𝐞𝐬: 𝐂𝐥𝐮𝐬𝐭𝐞𝐫𝐈𝐏, 𝐍𝐨𝐝𝐞𝐏𝐨𝐫𝐭, 𝐚𝐧𝐝 𝐋𝐨𝐚𝐝𝐁𝐚𝐥𝐚𝐧𝐜𝐞𝐫 🚀</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Thu, 13 Mar 2025 10:47:54 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/--jea</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/--jea</guid>
      <description>&lt;p&gt;Hey Cloudees ☁️!&lt;/p&gt;

&lt;p&gt;If you're working with Kubernetes, you've likely encountered "𝐶𝑙𝑢𝑠𝑡𝑒𝑟𝐼𝑃, 𝑁𝑜𝑑𝑒𝑃𝑜𝑟𝑡, 𝑎𝑛𝑑 𝐿𝑜𝑎𝑑𝐵𝑎𝑙𝑎𝑛𝑐𝑒𝑟" services. But what are they, and when should you use each? 🤔 Let’s break it down!&lt;/p&gt;




&lt;p&gt;1️⃣ 𝐂𝐥𝐮𝐬𝐭𝐞𝐫𝐈𝐏:&lt;/p&gt;

&lt;p&gt;𝑾𝒉𝒂𝒕 𝒊𝒕 𝒅𝒐𝒆𝒔: Exposes the service 𝑤𝑖𝑡ℎ𝑖𝑛 𝑡ℎ𝑒 𝑐𝑙𝑢𝑠𝑡𝑒𝑟. Pods communicate using an internal IP.&lt;/p&gt;

&lt;p&gt;𝑾𝒐𝒓𝒌𝑭𝒍𝒐𝒘: User request -&amp;gt; Service (clusterIP) -&amp;gt; Pods.&lt;/p&gt;

&lt;p&gt;How Service identifies the pods?&lt;br&gt;
Ans: Through pod "labels"&lt;/p&gt;

&lt;p&gt;✅ 𝑷𝒓𝒐𝒔:&lt;br&gt;
✨ Simplifies internal networking.&lt;br&gt;
✨Secure 🔐: Not exposed externally.&lt;/p&gt;

&lt;p&gt;❌𝑪𝒐𝒏𝒔:&lt;br&gt;
✨ Not accessible from outside the cluster.&lt;/p&gt;

&lt;p&gt;𝐸𝑥𝑎𝑚𝑝𝑙𝑒: Your backend microservice connecting with a database service internally.&lt;/p&gt;

&lt;p&gt;𝑵𝒆𝒕𝒘𝒐𝒓𝒌 𝒕𝒚𝒑𝒆: Internal&lt;br&gt;
𝑺𝒄𝒂𝒍𝒂𝒃𝒊𝒍𝒊𝒕𝒚: High ⏫&lt;br&gt;
𝑪𝒐𝒔𝒕: Low ⏬&lt;br&gt;
𝑼𝒔𝒆 𝑪𝒂𝒔𝒆: Inter service communications within the cluster.&lt;/p&gt;

&lt;p&gt;(Ideal for internal communication between microservices)&lt;/p&gt;




&lt;p&gt;2️⃣ 𝐍𝐨𝐝𝐞𝐏𝐨𝐫𝐭&lt;/p&gt;

&lt;p&gt;𝑾𝒉𝒂𝒕 𝒊𝒕 𝒅𝒐𝒆𝒔: Opens a specific port on each 𝑛𝑜𝑑𝑒 in the cluster, forwarding traffic to the service.&lt;/p&gt;

&lt;p&gt;𝑾𝒐𝒓𝒌𝑭𝒍𝒐𝒘: User Request -&amp;gt; NodePort - &amp;gt; Service ( ClusterIP ) -&amp;gt; Pods&lt;/p&gt;

&lt;p&gt;✅ 𝑷𝒓𝒐𝒔:&lt;br&gt;
✨ Easy to set up.&lt;br&gt;
✨ External access without a load balancer.&lt;/p&gt;

&lt;p&gt;❌𝑪𝒐𝒏𝒔:&lt;br&gt;
✨ Ports are limited (30000-32767).&lt;br&gt;
✨ Not suited for production; lacks flexibility and scalability.&lt;/p&gt;

&lt;p&gt;𝐸𝑥𝑎𝑚𝑝𝑙𝑒: Sharing a simple app demo accessible via :.&lt;/p&gt;

&lt;p&gt;𝑵𝒆𝒕𝒘𝒐𝒓𝒌 𝒕𝒚𝒑𝒆: External&lt;br&gt;
𝑺𝒄𝒂𝒍𝒂𝒃𝒊𝒍𝒊𝒕𝒚: Low ⏬&lt;br&gt;
𝑪𝒐𝒔𝒕: Low ⏬&lt;br&gt;
𝑼𝒔𝒆 𝑪𝒂𝒔𝒆: Dev/test external access.&lt;/p&gt;

&lt;p&gt;( For basic external access during development or testing)&lt;/p&gt;




&lt;p&gt;3️⃣ 𝐋𝐨𝐚𝐝𝐁𝐚𝐥𝐚𝐧𝐜𝐞𝐫&lt;/p&gt;

&lt;p&gt;𝑾𝒉𝒂𝒕 𝒊𝒕 𝒅𝒐𝒆𝒔: Provisions a 𝑐𝑙𝑜𝑢𝑑 𝑝𝑟𝑜𝑣𝑖𝑑𝑒𝑟’𝑠 𝑙𝑜𝑎𝑑 𝑏𝑎𝑙𝑎𝑛𝑐𝑒𝑟 to route external traffic.&lt;/p&gt;

&lt;p&gt;𝑾𝒐𝒓𝒌𝑭𝒍𝒐𝒘: User request -&amp;gt; LoadBalancer -&amp;gt; NodePort -&amp;gt; Service( clusterIP) -&amp;gt; Pods&lt;/p&gt;

&lt;p&gt;✅ 𝑷𝒓𝒐𝒔:&lt;br&gt;
✨ Handles traffic distribution.&lt;br&gt;
✨ Highly scalable and reliable.&lt;/p&gt;

&lt;p&gt;❌𝑪𝒐𝒏𝒔:&lt;br&gt;
✨ Tied to cloud providers (AWS, GCP, Azure).&lt;br&gt;
✨ Can incur extra costs.&lt;/p&gt;

&lt;p&gt;𝐸𝑥𝑎𝑚𝑝𝑙𝑒: Hosting your e-commerce application for global customers.&lt;/p&gt;

&lt;p&gt;𝑵𝒆𝒕𝒘𝒐𝒓𝒌 𝒕𝒚𝒑𝒆: External&lt;br&gt;
𝑺𝒄𝒂𝒍𝒂𝒃𝒊𝒍𝒊𝒕𝒚: High ⏫&lt;br&gt;
𝑪𝒐𝒔𝒕: High ⏫&lt;br&gt;
𝑼𝒔𝒆 𝑪𝒂𝒔𝒆: Production apps requiring reliability.&lt;/p&gt;

&lt;p&gt;(For production-level external access with scaling and reliability)&lt;/p&gt;




&lt;p&gt;📌 𝐏𝐫𝐨 𝐓𝐢𝐩: For advanced traffic control, consider combining these with Ingress controllers or switching to modern solutions like Service Mesh!&lt;/p&gt;

&lt;p&gt;What service type do you use most often? Share your experiences below! ⬇️&lt;/p&gt;

&lt;p&gt;Our Next topic "𝐈𝐧𝐠𝐫𝐞𝐬𝐬" layer4 &amp;amp; Layer7. &lt;/p&gt;

&lt;p&gt;Do like, comment,repost and share and support me for more simple DevOps related topics ❤️.&lt;/p&gt;

&lt;h1&gt;
  
  
  devops #cicd #dev #k8s #kubernetes #docker
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn44ny2guw696lkkbm77b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn44ny2guw696lkkbm77b.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0aad2i1tktmrwyut4lta.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0aad2i1tktmrwyut4lta.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7qk4mte2uw91p9e7lcx2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7qk4mte2uw91p9e7lcx2.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>docker</category>
      <category>containers</category>
      <category>devops</category>
    </item>
    <item>
      <title>𝐄𝐱𝐩𝐥𝐨𝐫𝐢𝐧𝐠 𝐊𝐮𝐛𝐞𝐫𝐧𝐞𝐭𝐞𝐬 𝐑𝐞𝐩𝐥𝐢𝐜𝐚𝐒𝐞𝐭 🚀</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Wed, 12 Mar 2025 13:37:29 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/-1mko</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/-1mko</guid>
      <description>&lt;p&gt;📌 𝗨𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱𝗶𝗻𝗴 𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝗦𝗲𝘁 𝗶𝗻 𝗞𝘂𝗯𝗲𝗿𝗻𝗲𝘁𝗲𝘀&lt;/p&gt;

&lt;p&gt;A ReplicaSet ensures a specified number of pod replicas are running at any given time in a Kubernetes cluster. It’s the building block for scaling and resilience in containerized environments. But how does it compare with a Deployment? Let's dive in!&lt;/p&gt;




&lt;p&gt;🔄 𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝗦𝗲𝘁 𝘃𝘀 𝗗𝗲𝗽𝗹𝗼𝘆𝗺𝗲𝗻𝘁&lt;/p&gt;

&lt;p&gt;While both manage pods, their purpose and features differ:&lt;/p&gt;

&lt;p&gt;𝗣𝗿𝗶𝗺𝗮𝗿𝘆 𝗿𝗼𝗹𝗲:&lt;br&gt;
𝙍𝙚𝙥𝙡𝙞𝙘𝙖𝙎𝙚𝙩: Maintain a specific number of pod replicas.&lt;br&gt;
𝘿𝙚𝙥𝙡𝙤𝙮𝙢𝙚𝙣𝙩: Manage ReplicaSets, enabling rolling updates, rollbacks etc.&lt;/p&gt;

&lt;p&gt;𝗨𝗽𝗱𝗮𝘁𝗲𝘀:&lt;br&gt;
𝙍𝙚𝙥𝙡𝙞𝙘𝙖𝙎𝙚𝙩: Requires manual intervertion for the updates.&lt;br&gt;
𝘿𝙚𝙥𝙡𝙤𝙮𝙢𝙚𝙣𝙩: Automates the updates.&lt;/p&gt;

&lt;p&gt;𝗨𝘀𝗲 𝗖𝗮𝘀𝗲:&lt;br&gt;
𝙍𝙚𝙥𝙡𝙞𝙘𝙖𝙎𝙚𝙩: Simple static workloads where updates aren't frequent.&lt;br&gt;
𝘿𝙚𝙥𝙡𝙤𝙮𝙢𝙚𝙣𝙩: Dynamic workloads requires updates and version controls.&lt;/p&gt;




&lt;p&gt;✅ 𝗣𝗿𝗼𝘀 𝗼𝗳 𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝗦𝗲𝘁:&lt;/p&gt;

&lt;p&gt;1️⃣ 𝙇𝙞𝙜𝙝𝙩𝙬𝙚𝙞𝙜𝙝𝙩: Ideal for maintaining fixed workloads without frequent changes.&lt;br&gt;
2️⃣ 𝙃𝙞𝙜𝙝 𝘼𝙫𝙖𝙞𝙡𝙖𝙗𝙞𝙡𝙞𝙩𝙮: Ensures desired pod count, enhancing resilience.&lt;br&gt;
3️⃣ 𝙁𝙤𝙪𝙣𝙙𝙖𝙩𝙞𝙤𝙣 𝙤𝙛 𝘿𝙚𝙥𝙡𝙤𝙮𝙢𝙚𝙣𝙩𝙨: Deployments internally use ReplicaSets, making them a key Kubernetes component.&lt;/p&gt;

&lt;p&gt;❌ 𝗖𝗼𝗻𝘀 𝗼𝗳 𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝗦𝗲𝘁:&lt;/p&gt;

&lt;p&gt;1️⃣ 𝙈𝙖𝙣𝙪𝙖𝙡 𝙐𝙥𝙙𝙖𝙩𝙚𝙨: No built-in support for rolling updates or rollbacks.&lt;br&gt;
2️⃣ 𝙇𝙞𝙢𝙞𝙩𝙚𝙙 𝙈𝙖𝙣𝙖𝙜𝙚𝙢𝙚𝙣𝙩: Can’t manage application lifecycle beyond replica count.&lt;br&gt;
3️⃣ 𝘾𝙤𝙢𝙥𝙡𝙚𝙭𝙞𝙩𝙮 𝙒𝙞𝙩𝙝𝙤𝙪𝙩 𝘿𝙚𝙥𝙡𝙤𝙮𝙢𝙚𝙣𝙩: For dynamic environments, managing ReplicaSets alone can become cumbersome.&lt;/p&gt;




&lt;p&gt;💡 𝗣𝗿𝗼 𝗧𝗶𝗽:&lt;/p&gt;

&lt;p&gt;For most real-world applications, use 𝘿𝙚𝙥𝙡𝙤𝙮𝙢𝙚𝙣𝙩𝙨 as they offer enhanced flexibility and features, including versioning and easy rollback. Use ReplicaSets directly only when you need simplicity and control over pod replicas without updates.&lt;/p&gt;




&lt;p&gt;🔗 What are your thoughts on using ReplicaSets directly? Share your experience in the comments! 👇&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9g00bykue0up9252aac.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9g00bykue0up9252aac.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>docker</category>
      <category>devops</category>
      <category>containerization</category>
    </item>
    <item>
      <title>K8S Pod v/s Deployment</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Sun, 09 Mar 2025 15:13:33 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/k8s-pod-vs-deployment-3ndl</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/k8s-pod-vs-deployment-3ndl</guid>
      <description>&lt;p&gt;&lt;a href="//www.linkedin.com/in/anil-kumar-b03722221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hey Cloudees !&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi5r1g5n2hy4a6rbersmk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi5r1g5n2hy4a6rbersmk.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;🚀 Kubernetes Simplified: Pod vs Deployment&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
When starting with Kubernetes, one of the most common questions is:&lt;/p&gt;

&lt;p&gt;What’s the difference between a Pod and a Deployment?&lt;/p&gt;

&lt;p&gt;🌟** Pod:**&lt;br&gt;
A Pod is the smallest, most basic unit in Kubernetes. It represents a single instance of a running process in your cluster. Each Pod can contain one or more tightly coupled containers (like Docker containers).&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1) Lightweight and simple.&lt;br&gt;
2)Great for testing or running a one-off task.&lt;/p&gt;

&lt;p&gt;❌** Cons:**&lt;/p&gt;

&lt;p&gt;1) No built-in redundancy or scalability.&lt;br&gt;
2) Manual effort required to restart or replicate in case of failure.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;&lt;a href="https://dev.tourl"&gt;Use Case:&lt;/a&gt;&lt;/strong&gt; Great for simple, standalone workloads.&lt;/p&gt;

&lt;p&gt;🌟 &lt;strong&gt;Deployment:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Deployment is a higher-level abstraction that manages Pods. It ensures the desired state of your application by creating, updating, or deleting Pods as needed. Deployments handle scaling, rolling updates, and rollback mechanisms.&lt;/p&gt;

&lt;p&gt;✅** Pros:**&lt;/p&gt;

&lt;p&gt;1) Automatically scales and maintains desired replicas.&lt;br&gt;
2) Self-healing: Replaces failed Pods automatically.&lt;br&gt;
Supports seamless updates and rollbacks.&lt;/p&gt;

&lt;p&gt;❌** Cons:**&lt;br&gt;
1) Adds complexity compared to standalone Pods.&lt;br&gt;
2) Not ideal for stateful applications (use StatefulSets instead).&lt;/p&gt;

&lt;p&gt;✅** Use Case:** Ideal for managing stateless applications that need scalability and reliability.&lt;/p&gt;

&lt;p&gt;Tip: Always use Deployments for production-grade applications to leverage Kubernetes' self-healing and scaling capabilities!&lt;/p&gt;

&lt;p&gt;Got questions? Let me know in the comments. Happy Kubernetes-ing! 💻✨&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cicd</category>
      <category>kubernetes</category>
      <category>development</category>
    </item>
    <item>
      <title>K8S Architecture simplified</title>
      <dc:creator>Anil Kumar</dc:creator>
      <pubDate>Sun, 09 Mar 2025 06:05:51 +0000</pubDate>
      <link>https://dev.to/anil_kumar_ff4f6ad3549983/k8s-architecture-simplified-5g73</link>
      <guid>https://dev.to/anil_kumar_ff4f6ad3549983/k8s-architecture-simplified-5g73</guid>
      <description>&lt;p&gt;&lt;a href="//www.linkedin.com/in/anil-kumar-b03722221"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frywybvntr8dsfgy1ydt4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frywybvntr8dsfgy1ydt4.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;a href="//www.linkedin.com/in/anil-kumar-b03722221"&gt;&lt;/a&gt;Nothing is cooler than a simple Architecture explaination of a complex tool!😃&lt;/p&gt;

&lt;p&gt;Let's dive into K8S Architecture today:&lt;/p&gt;

&lt;p&gt;In Kubernetes, first we have a K8S cluster inside the cluster only we perform our actions like creating/deleting pods,Nodes,services..etc. Inside the cluster we have a master node and worker nodes.&lt;/p&gt;

&lt;p&gt;Master Node: This is the core component of K8S as it orchestrates the entire resuorces in the cluster. It is present by default where K8S installed.&lt;br&gt;
Note: we can also schedule the pods in the master node as well.&lt;/p&gt;

&lt;p&gt;Inside this master Node:&lt;br&gt;
we have 4 components. &lt;/p&gt;

&lt;p&gt;1️⃣ API Server: It collects the user requirements from the user in the form of .yml files/commands and establish the connection with Kubelet, Scheduler, controller manager and stores the critical information like configMaps,secrets..etc in etcd cluster.&lt;/p&gt;

&lt;p&gt;2️⃣ Scheduler: It is the component that communicates with the API Server and retrieve the unscheduled pods and then make decision on which Node the pods should run then inform back to API Server and this API Server communicate with Kubelet and perform the action. This process is called as "binding".&lt;/p&gt;

&lt;p&gt;3️⃣ Controller manager: It always monitor the desired state and actual state of the application and always tries to keep the actual state = desired state.&lt;br&gt;
( ex: if you need 3 pods to run continuously this will ensure 3 pods running.)&lt;/p&gt;

&lt;p&gt;4️⃣ etcd cluster: It stores all the critical information of the cluster.&lt;/p&gt;

&lt;p&gt;Worker Node: This is where the actual actions will be performed.&lt;br&gt;
In this we have 3 components:&lt;/p&gt;

&lt;p&gt;1️⃣ Kubelet: It communicates with scheduler and perform the actions according to the user requirement. It connects with container engine.&lt;br&gt;
2️⃣ Container Engine: It is responsible to run and manage the containers inside the pods.&lt;br&gt;
3️⃣ Kube proxy: It assigns IP address to the pods. It plays a crucial role in maintaning network rules.&lt;/p&gt;

&lt;p&gt;Inside these nodes we will create pods. &lt;/p&gt;

&lt;p&gt;❓What is Pod ?&lt;br&gt;
Pod: Pod is a smallest deployement unit that hosts our application as containers. &lt;/p&gt;

&lt;p&gt;❓What is Container?&lt;br&gt;
Container: It is a light weight K8S object that hosts our application in the form of Docker Images. &lt;/p&gt;

&lt;p&gt;❓what are Docker images?&lt;br&gt;
Docker Image: It is an immutable resource, it bundles all the dependencies, libraries.. etc that are required to run an application. &lt;/p&gt;

&lt;p&gt;Comment down if the explaination needs to be improved.. 😀 Happy Learning 🙌&lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>development</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
