Kubernetes 101 - Storage

I'm a full-stack developer from South Africa 🇿🇦. I love writing about JavaScript, HTML and CSS.
Search for a command to run...

I'm a full-stack developer from South Africa 🇿🇦. I love writing about JavaScript, HTML and CSS.
No comments yet. Be the first to comment.
I wanted to dive into the Kubernetes Dashboard for this article and run Kubernetes locally via Docker desktop. It's a good first option to run it locally and see what's happening more visually. Enabling Kubernetes in Docker Desktop This article's fir...
Most of you know me for my consistency, a golden arrow in my blog series. I've written 1000 articles in 1008 days! Almost an article a day, and my honeymoon was the only holiday I ever took. I'm super proud of this achievement; it has been a fantasti...

It's not the first time I'll be talking about community. I think it's an essential aspect of any successful tool. This shows in my previous explorations of Astro, Medusa, and now Vendure as well. All these products thrive in a super open, welcoming, ...

The cool part about Vendure is how easy it is to set up and how abstract each layer is. Basically, we get the following elements: External database Server Worker Admin UI Frontend While this is amazing, it also brings a bit of complexity when it co...

The previous article looked at customizing Vendure on a data and process level. In this article, we'll look at customizing emails, as they are often a big part of a webshop system. We'll be looking at two different layers of customization for customi...

Even though Vendure is a pretty significant project out of the box, in some cases, we might want to go in and modify some elements to work to our specific use case. In this article, I'll take a high-level look at some elements we can customize within...

Another essential aspect of Kubernetes is storage. In some instances, you will want to use some kind of storage solution.
Because our pods can re-spool, die and recreate on the fly, we can't rely on storing elements on them.
In many cases, we want some data stored but stay there and make that data accessible across multiple pods.
Kubernetes has quite a wide variety of storage options. Let's take a closer look at them.
Volumes are the basic storage entities in Kubernetes. It can provide all types of storage depending on your cloud provider and needs. Access to these storage volumes can be achieved through persistent volumes.
For example, the Azure cloud will have its implementation, as does Google and AWS.
This interface is used to store containers. It's a plugin making it easier for us to manage storage containers.
This is the default storage option for Kubernetes, consisting of non-persistent temporary storage. As long as the container keeps living, it will be there, but as soon as it dies and shuts down, it gets wiped.
For persistent volumes, we have two important concepts to understand.
This is a storage element in a cluster, defined manually or by a storage class (A way to define the type of volumes). A PV storage has its lifecycle separate from your other pods and implements its layer to communicate to your desired storage.
This is a user's storage request. An application can request a specific type of storage, for example, how to interact with the data. Or how big the storage should be and the level of performance. These claims are independent of your underlying implementation (so vendor-independent).
Storage within Kubernetes is very vast and dynamic. We are independent of our end storage solution and can wrap around these implementations.
This gives us a lot of flexibility and freedom. Besides this freedom, we also get various storage options depending on our needs.
Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Facebook or Twitter