Stefan Kecskes

Never stop learning, because life never stops teaching

Using Volumes in Kubernetes

Volumes in Kubernetes are used to store data used by our applications. So that concept is very similar to volumes in docker containers. But there are some subtle differences, as always in life; nothing can be simple. :) There are many types of volumes in Kubernetes, and in this post, we will group them by properties and see some of the most common types.

Declarative Kubernetes

Imperative approach using kubectl .... is great, but we came at some point to situation where our commands became too long with many parameters or that running the same command again and again was time-consuming and more error-prone. That is where we stop using imperative approach and start to use declarative approach with Kubernetes Resource definition files.

Kubernetes basics

Kubernetes is more flexible and extensible tool, provides more mature features, like self-healing, rollouts and rollbacks, secret management, auto-scaling and I mean really large scale applications, adoption by big companies like Google, Microsoft, Amazon, IBM, etc. and can run in single cloud, multi-cloud, on-premises, hybrid cloud, etc. This might take longer to learn, but at the end it is worth it. So buckle up and let’s dive into the Kubernetes basics.

Docker Volumes

I am using docker in personal and professional projects for a couple of years now. Like everybody else, I learned it as I went along and learned as little as I needed to know to be able to deliver what I wanted. I never had a chance to sit down and look deeper into it (as no one does these days). But from time to time, I like to dive deeper to figure out more about handling data with docker. And then I thought to myself that what I summarized for myself mighty actually be helpful for someone else too. Therefore, if you are interested in knowing more about docker volumes, you are in the right place.

Update Python on Ubuntu 22.04

Steps work also on Ubuntu 24.04

Ok, so you have a fresh installation of Ubuntu 22.04 (Jammy Jellyfish), and you would like to update the default Python 3.10 that comes preinstalled in Ubuntu 22.04 to the latest version. It seems trivial, as you think that you can just uninstall the old version and install the new one. But it is not that simple. The problem is that Ubuntu 22.04 uses python 3.10 for some of its internal tools, and if you uninstall it, you will break your system. I know it, because I did that and I would like to save you some time and pain from restoring your system.