About me

I am another IT guy that tries to maintain a blog. The .gent points out that I live somewhere around Ghent but mainly, the .dev was already taken by some devver with cooler projects to show off. I mainly work on or in clouds. This is an attempt to write down some of my endeavors and interesting stuff I encounter. And maybe you can find something interesting here, or you can teach me something new? You can leave your feedback in the comments section or contact me by mail: [contact at maarten.gent]

Migration Openstack: QEMU image to Ceph RBD

The other day I needed to migrate a bunch of Openstack VMs (~1T of volumes) from openstack version ‘Stein’ to a brand new ‘Caracal’ platform. The former was using NFS based storage. The latter Ceph, obviously. Glance storage is still NFS mounted. So let’s try to migrate this the ‘Openstack way’. Turns out Openstack (Cinder) needed to copy the data 3 times! Download from glance to some temporary storage Convert the image to ‘raw’ format, even if the uploaded image is already ‘raw’....

May 2, 2024 · 3 min · Maarten Steenhuyse

OVirt VM export to File From Console

oVirt supports this from the web interface but it is a very cumbersome and slow process. It also breaks often for obscure reasons in my experience. Using the SSH console, you can create your image directly on your backup server using NFS or whatever you are used to. I learned how to do this from this web resource: https://coderwall.com/p/ei2x4g/export-ovirt-vm-to-qcow2-image-file Figure out location disk images of your VM You first need to figure out wich logical volumes are associated with your VM....

April 28, 2024 · 2 min · Maarten Steenhuyse

Kubernetes platforms

It has been a while.. Something you might have read before on a personal tech blog. My devops professional life at this moment can be summarized as follows: get rid of virtual machines and old platforms and replace them with kubernetes. Platform design Anno 2024 I prefer to build self contained small platforms with internal (hyperconverged) storage versus platforms that have inter dependencies and some traditional central storage solution. The benefit should be clear: when shit really hits the fan (f....

April 20, 2024 · 5 min · Maarten Steenhuyse

KubeVirt blocking OKD upgrade

Has been a while since I blogged something. It’s summer time: get your cocktail and stretch yourself on the beach and enjoy the scenery! Usually not my way of spending free time. This week I am enjoying some holiday, though, in Belgian nature (it does exist) with lots of action for the kids in proximity. I made a little trip to Germany to pick up some spare parts for my broken -propeller snapped when the rudder got loose- RC boat....

July 21, 2022 · 9 min · Maarten Steenhuyse

KubeVirt: VMs in a VM... Running in an k8s pod

It is a crazy world we live in. Yesterday we use to test Kubernetes on our trusty virtualization platform. Today we are very busy containerizing workloads, getting rid of virtualization and old infrastructure in the process. Tomorrow we control all infrastructure using the k8s api? I surely hope so: we like to push some change to the infra repository and lean back while the k8s reconciliation loop is configuring infrastructure accordingly....

June 19, 2022 · 6 min · Maarten Steenhuyse

Debugging containerized application part 2

This post is a continuation of https://maarten.gent/posts/debugging/debug-complex-containerized-application/ A quick recap: we moved a complex 3-pod containerized application from OKD (Openshift) 3 to 4 and hit a network issue. Some lengthy debugging was required but we felt confident we could move our biggest customers to the new platform once resolved. Set the stage The weekend is family time (or blog time) but not this time: a switch died in the datacenter which brought the storage down of the old OKD cluster....

June 12, 2022 · 6 min · Maarten Steenhuyse

Debugging a complex containerized application

The story of how we resolved a hard to debug issue migrating a complex containerized application to a Kubernetes cluster. I learned some lessons that might be useful for you too. Problem statement Application Sorry for the vague description but the application involves three pods. One pod contains a container running an OpenVPN (client) process. Users access the application using a web interface and traffic flows back and forth through an VPN tunnel accessing a service running in a restricted network on the other end of the tunnel....

June 5, 2022 · 9 min · Maarten Steenhuyse

Running Virtual Machines in Kubernetes

I heard about the Virtualisation project a while ago but it was until recently, I gave it a spin. I was pleasantly surprised of what’s possible and how well it works. What? Why? It does sound a bit crazy, right? We use to host kubernetes using VMs, or you are still doing that in the public cloud, and now we turn this around? In my opinion kubernetes should be run on bare metal machines for optimal performance: contention with other VMs is non existing obviously and storage is directly connected to k8s....

June 4, 2022 · 7 min · Maarten Steenhuyse

Building a comment system

Today is the beautiful day my little blog got Comments! If I would have known how easy it is, it would have from day one! I was engaged in a Duplo engineering project but still found some time to write this down. Disqus It took me one minute to register myself a free Disqus account. Go get yourself one at https://disqus.com/ Create ‘a website’ on the platfrom and copy (or memorize) the so called “short name”....

May 29, 2022 · 3 min · Maarten Steenhuyse

Extending Kustomize: Basic Templating

Kustomize is my favorite tool to manage the bunch of YAML we need to manage operating our clusters and applications. Since it is integrated in kubectl and oc, it is possible to apply a config to your cluster using one command. Or if you like Gitops, ArgoCD can sync your kustomize layer(s) stored in git automatically. A project usually consists of a base layer and a few subsidiary layers that are customized versions of the base....

May 22, 2022 · 4 min · Maarten Steenhuyse