The Container Storage Interface (CSI) NFS driver allows Kubernetes to dynamically provision and manage NFS volumes without manual PersistentVolume (PV) creation. This guide walks you through installing the CSI NFS driver and creating a StorageClass for your NFS server. Prerequisites 1️⃣ Install the CSI NFS Driver The CSI NFS driver is maintained by the Kubernetes […]
How to Install and Configure NFS Server for Kubernetes on Debian 12
Setting up a Network File System (NFS) server on Debian 12 is a crucial step for enabling persistent storage in Kubernetes clusters. NFS allows multiple Kubernetes nodes to access shared storage, making it ideal for stateful applications such as databases, file servers, and distributed services. This guide walks you through installing and configuring an NFS […]
Easy Kubernetes Setup on Debian 12: Single-Node Installation for Your Homelab
Kubernetes has become the de facto standard for container orchestration, enabling developers and DevOps teams to deploy, scale, and manage containerized applications efficiently. Whether you’re setting up a lab environment, learning Kubernetes, or preparing a single-node cluster for development, this guide walks you through installing and configuring a fully functional Kubernetes cluster on Debian12. We’ll […]
GitLab CI/CD in Production: From Templates to Dynamic Environments
In the world of modern DevOps, continuous integration and delivery (CI/CD) have become essential practices for ensuring fast, reliable, and scalable software deployment. GitLab has emerged as a powerful platform that offers built-in CI/CD capabilities, making it an attractive choice for teams looking to streamline their development pipelines — especially when deploying to production environments. […]
Setting up an configuring Kubernetes cluster on Ubuntu server
There are various ready-made implementations of Kubernetes (K8S) cluster, for example: Using one of the ready-made implementations is a quick and reliable way to deploy the Docker container orchestration system. However, we will consider manually creating a Kubernetes cluster of 3 nodes – one master (for management) and two worker nodes (for running containers). To […]

How to populate devices in Netbox with Python.
Hi there! If you’re looking to automate the process of adding devices to Netbox, using Python and the Netbox API is a great way to do it. In this post, I’ll walk you through the steps of adding a single device to Netbox using the pynetbox module. To start, you’ll need to install the pynetbox […]

How to extend the root partition with LVM and extend EXT4 file system.
In Linux, Logical Volume Manager (LVM) is a useful tool that allows you to manage your disk partitions in a more flexible way. With LVM, you can create logical volumes that span multiple physical disks and dynamically resize them without the need to reboot your system. If you need to extend the root partition of […]
How to extend the root partition with LVM and extend XFS file system.
If you need to increase the storage capacity of your root partition, you can do so by extending the Logical Volume Manager (LVM) and the XFS file system. Here’s a step-by-step guide on how to do this on a CentOS 7 system: After running these commands, your root partition will have been extended, and your […]
How to Install Gitlab CI on docker-compose
In this tutorial, we’ll look at how to quickly set up your GitLab server on Docker containers behind an NGINX reverse proxy. It is assumed that you already have the Docker and Compose application containerization engine installed, as well as the NGINX reverse proxy server. The GitLab server will be available at gitlab.automationtools.me. Also, do […]
Setting up CI / CD in GitLab to synchronize the project with web servers
Runner in GitLab allows you to automate routine tasks when updating projects in a repository. In our example, we will consider a situation where we use a GitLab server to store a project and 5 web servers where changes should go after a git push. We will set up our CI/CD to sync files with […]