<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Csi on marktaguiad.dev</title>
    <link>https://marktaguiad.dev/tags/csi/</link>
    <description>Recent content in Csi on marktaguiad.dev</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <managingEditor>marktaguiad@marktaguiad.dev (Mark Taguiad)</managingEditor>
    <webMaster>marktaguiad@marktaguiad.dev (Mark Taguiad)</webMaster>
    <copyright>marktaguiad.dev</copyright>
    <lastBuildDate>Fri, 06 Mar 2026 03:32:32 +0800</lastBuildDate>
    <atom:link href="https://marktaguiad.dev/tags/csi/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Kubernetes Volume</title>
      <link>https://marktaguiad.dev/post/k8s-notes-part4/</link>
      <pubDate>Fri, 06 Mar 2026 03:32:32 +0800</pubDate><author>marktaguiad@marktaguiad.dev (Mark Taguiad)</author>
      <guid>https://marktaguiad.dev/post/k8s-notes-part4/</guid>
      <description>&lt;p&gt;Containers in Kubernetes are ephemeral by default. This means that when a container stops or a Pod is deleted, any data stored inside the container filesystem is lost.&lt;/p&gt;&#xA;&lt;p&gt;To solve this problem, Kubernetes provides Volumes, which allow data to persist and be shared between containers in a Pod.&lt;/p&gt;&#xA;&lt;p&gt;Volumes are mounted into containers and provide persistent or shared storage depending on the type used.&lt;/p&gt;&#xA;&lt;h1 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h1&gt;&#xA;&lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ol&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#how-volume-works&#34;&gt;How Volume Works&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#volume-types&#34;&gt;Volume Types&lt;/a&gt;&#xA;      &lt;ol&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#emptydir&#34;&gt;emptyDir&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#hostpath&#34;&gt;hostPath&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#persistentvolume-pv&#34;&gt;PersistentVolume (PV)&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#persistentvolumeclaim-pvc&#34;&gt;PersistentVolumeClaim (PVC)&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ol&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#persistent-storage-architecture&#34;&gt;Persistent Storage Architecture&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#container-storage-interface&#34;&gt;Container Storage Interface&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/nav&gt;&#xA;&lt;h3 id=&#34;how-volume-works&#34;&gt;How Volume Works&lt;/h3&gt;&#xA;&lt;p&gt;Remember the first example we make, this time we will mount with different type of Kubernetes Volumes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automating Kubernetes Cluster Setup with Ansible</title>
      <link>https://marktaguiad.dev/post/kubeadm-ansible/</link>
      <pubDate>Wed, 09 Jul 2025 00:00:00 +0000</pubDate><author>marktaguiad@marktaguiad.dev (Mark Taguiad)</author>
      <guid>https://marktaguiad.dev/post/kubeadm-ansible/</guid>
      <description>&lt;p&gt;Over the years, I’ve found myself repeatedly setting up Kubernetes clusters using kubeadm—and while it works well, the manual process can get repetitive and error-prone. That’s why I built &lt;a href=&#34;https://github.com/mcbtaguiad/kubeadm-ansible&#34;&gt;kubeadm-ansible&lt;/a&gt;: an Ansible playbook that automates the entire process of standing up a Kubernetes cluster.&lt;/p&gt;&#xA;&lt;p&gt;This project was born out of my desire for a simple, reusable way to deploy multi-node clusters quickly—especially in test environments, homelabs, and lightweight production setups.&lt;/p&gt;&#xA;&lt;h1 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h1&gt;&#xA;&lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ol&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#what-it-does&#34;&gt;What It Does&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#setup&#34;&gt;Setup&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#inventory&#34;&gt;Inventory&lt;/a&gt;&#xA;      &lt;ol&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#single-master-cluster&#34;&gt;Single Master Cluster&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#multi-master-cluster&#34;&gt;Multi Master Cluster&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#cluster-config&#34;&gt;Cluster Config&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ol&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#init-cluster&#34;&gt;Init cluster&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#other-playbook&#34;&gt;Other Playbook&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#k3s&#34;&gt;k3s&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/nav&gt;&#xA;&lt;h3 id=&#34;what-it-does&#34;&gt;What It Does&lt;/h3&gt;&#xA;&lt;p&gt;kubeadm-ansible simplifies Kubernetes provisioning by:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
