Logo Atlas
  • Home
  • About Me
  • Skills
  • Education
  • Recent Posts
  • Certifications
  • Posts
  • English
    Español English
  • Dark Theme
    Light Theme Dark Theme System Theme
Logo Inverted Logo
  • Posts
  • Kong Gateway
    • Introduction Kong Gateway
    • Installing Kong with Docker (Hybrid Mode)
    • Installing Kong Ingress Controller (KIC)
    • Authentication plugins
      • Basic Auth
      • Key Auth
      • HMAC Auth
      • JWT
      • OAuth 2.0 Token introspection
      • OpenID Connect
      • SAML
      • Session
      • LDAP Auth
  • OpenStack
    • 01 - What is OpenStack?
    • 02 - Installation and Deployment Methods for OpenStack
    • Manual Installation
      • 03 - Manual OpenStack Installation Guide with Vagrant
      • 04 - Scenario Deployment and Preparation
      • 05 - Install and Configure Keystone on the Controller Node
      • 06 - Create Domains, Projects, Users, and Roles in OpenStack
      • 07 - Install and Configure Glance (Image Service)
      • 08 - Configure Placement in OpenStack
      • 09 - Install and Configure Nova on the Controller Node
      • 10 - Install and Configure Nova on Compute Nodes
      • 11 - Configure Neutron on the Controller Node
      • 12 - Configure Neutron on Compute Nodes
      • 13 - Verify the Minimum OpenStack Installation
      • 14 - Configure Cinder on the Controller Node
      • 15 - Install and Configure Cinder on Storage Nodes
      • 16 - Install and Configure Horizon on the Controller Node
    • Kolla-Ansible Installation
      • 17 - Install and Configure Horizon on the Controller Node
  • CI / CD Jenkins
    • CI / CD practice with Jenkins
    • Workshop 1 Ortho-rector of markdown documents (test)
    • Workshop 2 Valid HTML5 check and surge.sh deployment (test and deploy)
    • Workshop 3 Continuous integration of django application (Test)
  • Database
    • Install MariaDB in Debian
    • Interconnection of database servers
    • Oracle 19c installation under Debian 12
    • PostgreSQL installation in Debian 12
    • Remote access configuration in Oracle
    • Remote access in MariaDB
  • Docker
    • Docker Compose Installation on Ubuntu 24
    • Docker Installation on Ubuntu 24
    • Workshop 1 Storage and networks in Docker
    • Workshop 2 Multicontainer Scenarios in Docker
    • Workshop 3 Image creation Docker
  • Firewall
    • Fortinet CLI
    • Perimetral with Fortinet I
    • Perimetral with Fortinet II
    • Perimetral with Nftables I
    • Perimetral with Nftables II
  • Linux Drivers
    • Drivers Nvidia
    • How to choose which graph to use on my laptop with Linux
  • Networks
    • Android GNS3-KVM
    • Basic IPv6 scenario
    • GNS3 and Wireshark installation
    • GNS3 installation in Debian 12
    • GNS3 switch configuration
    • IPV6 Tunnels
    • NAT in Cisco and Linux
    • Network monitoring commands
    • OpenStack routing
    • Protocol ARP
    • Underworld
    • Underworld evolution
  • Observability
    • Metrics
      • Prometheus
        • Installation of Prometheus with Docker Compose and Node Exporter on Debian 12
  • Security
    • Forensic computer
    • HTTPS
  • Services
    • Apache
    • DHCP
      • Installation and Configuration of a DHCP Server on Linux
    • DNS
      • BIND9
        • Configuring a Slave DNS Server with BIND9
        • Installation and Configuration of BIND9 on Linux
      • DNSMASQ
        • Local Server with DNSMasq
    • FTP
    • NAT with iptables
    • SSH
  • Systems
    • Active Directory in Ubuntu
    • Centralized collection of logs journald
    • Compilations in LINUX
      • Compilation of a C-program using a Makefile
      • Compilation of a kernel
    • Creation of an automated installation system
    • Install and configure samba in Debian
    • Linux Command
      • Kernel parameter modification exercises
      • Linux processes
      • Module management exercises
      • Package management
      • Packaging and compressors
      • Paid management exercises
      • Task programming
    • Migration in Linnux
      • File system
      • Migtation from CentOS stream 8 to CentOS stream 9
      • Systemd elimination
      • Transformation instance cloud
    • NFS in Debian
    • SELinux activation configuration
    • Share resources in Windows
    • Ssh service in Windows
    • Storage Spaces in Windows Server
  • Virtualization (KVM on Linux)
    • Introduction to virtualization with KVM
      • Virtualization basics in Linux
      • Types of hypervisors
      • KVM architecture and operation
    • Installation and configuration
      • Install KVM and libvirt
      • Validate KVM host
    • Virtual machine management
      • Create VM with virt-install
      • VM components
      • Manage with virsh
      • Clone and rename VMs
      • Expand VM resources
      • Snapshots in KVM
      • Virtual machine templates
    • Networking in KVM
      • Network types in KVM
      • Create and configure private virtual networks
      • Create bridge interface
    • Storage in KVM
      • Introduction to storage
      • Managing pools
      • Volumes (virsh)
      • Resizing disks (VMs)
  • VPN
    • OpenVPN and Wireguard Comparative
    • OpenVPN remote access
    • Remote access Ipsec StrongSwan
    • Site-to-Site IPsec Cisco
    • Site-to-Site IPsec Fortinet
    • Site-to-Site OpenVPN
    • Site-to-Site Wireguard
    • Wireguard remote access
  • Web applications
    • LAMP stack installation
    • LEMP stack installation
    • WordPress LAMP
    • WordPress LEMP
Hero Image
How to expand VM memory, CPU and disks

In this article we’ll cover three practical cases for expanding resources in a VM managed with libvirt/KVM: Increase the number of vCPUs (cores) Increase RAM memory Expand disk and filesystem inside the guest We’ll use virsh commands, libguestfs tools where applicable, and standard utilities inside the guest (growpart, resize2fs, xfs_growfs, LVM). I’ll include “hot” methods when the system supports them and safe cold alternatives. Note: To run without sudo, your user must belong to the libvirt and kvm groups.

  • KVM
  • Virtualization
  • Libvirt
  • Linux
  • VM
  • Resources
Thursday, October 16, 2025 | 4 minutes Read
Hero Image
06 - Create domains, projects, users and roles in OpenStack

Identity (Keystone) is OpenStack’s authentication and authorization service. In this step I prepare the minimal Identity configuration we need to continue the installation and to test OpenStack. Although the default domain already exists after keystone-manage bootstrap, I explicitly create the projects and users we use in the guides: service (for service users) and demo (for non‑admin user tests). I also create an example role and assign it to the demo user.

  • openstack
  • installation
  • identity
Sunday, November 23, 2025 | 2 minutes Read
Hero Image
07 - Install and configure Glance

At first glance, Glance may seem simple: it stores, manages, and serves images to the compute service (Nova). In this post I install and configure Glance on the controller01 node, explain key components, and leave a minimal flow to upload a test image. Glance architecture Components you’ll see during installation: Glance API: exposes the REST API to store, list, and retrieve images. Glance Store: manages backends where image files are stored (file, Swift, Ceph, …). Metadata / registry service: stores image metadata (in many deployments this functionality is integrated into the API and DB). Glance uses an SQL database for state, here we use MySQL/MariaDB on the controller. In this guide we use the file backend for simplicity.

  • openstack
  • installation
  • glance
Sunday, November 23, 2025 | 2 minutes Read
Hero Image
How to create a Debian 13 virtual machine template

A virtual machine template is a preconfigured OS image that we use to quickly deploy new VMs, avoiding repetitions and errors. Here we’ll see how to create a Debian 13 master template ready for cloning. 1 Create and install the base VM Create a clean Debian 13 VM, apply all updates and add the common software you want on all clones (guest agent, utilities, etc.). Minimal example: # Create the base VM (adjust CPU, RAM, disk, ISO and network to your environment) virt-install \ --name debian13-base \ --memory 4096 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/debian13-base.qcow2,size=20,format=qcow2 \ --cdrom /var/lib/libvirt/images/debian-13.1.0-amd64-netinst.iso \ --os-variant debian12 \ --network network=default,model=virtio \ --noautoconsole Once the VM is created, install all the components you want this template to have: users, packages, etc.

  • KVM
  • Virtualization
  • Libvirt
  • Linux
  • VM
  • Templates
  • Debian13
Saturday, October 18, 2025 | 6 minutes Read
Hero Image
08 - Configure Placement in OpenStack

Placement tracks available physical resources and helps Nova schedule allocations. In this guide I will install and configure Placement on controller01 using Ubuntu packages and provide the minimal steps to verify it. Prerequisites Before starting, make sure you have: Keystone installed and reachable. A MySQL/MariaDB database available. Administrative credentials (admin-openrc) to create users and services. Create the database Connect to the database server as root to create the Placement database:

  • openstack
  • installation
  • placement
Sunday, November 23, 2025 | 2 minutes Read
Hero Image
09 - Install and configure Nova on the controller node

This document describes how to install and configure the Compute service (Nova) on the controller node (controller01). Prerequisites Before starting, make sure you have the basic Keystone credentials and databases created (admin-openrc available). Create the databases (on controller01) Connect to the SQL server as root to create the necessary databases: vagrant@controller01:~$ sudo mysql Create the nova_api, nova, and nova_cell0 databases: CREATE DATABASE nova_api; CREATE DATABASE nova; CREATE DATABASE nova_cell0; Grant permissions to the nova account (replace NOVA_DBPASS with your password):

  • openstack
  • installation
  • nova
Sunday, November 23, 2025 | 3 minutes Read
Hero Image
Basic Auth in Kong

Basic Authentication may seem like a trivial mechanism because it only uses a username and a password. However, using it correctly means separating three ideas: the HTTP standard, the validation performed by Kong Gateway, and the identity that Kong associates with valid credentials. In this article we will look at those three layers and build a reproducible lab with Kong Ingress Controller. The goal is not simply to copy files and blindly apply them. First we will understand what each resource represents, then we will apply it, and finally we will check what happens inside Kong.

  • Kong
  • Authentication
  • Basic Auth
  • KIC
  • Gateway API
Sunday, July 26, 2026 | 8 minutes Read
Hero Image
10 - Install and configure Nova on compute nodes

On this page I configure a compute node (for example compute01) so it can run instances with Nova. I use QEMU/KVM when the hardware supports it, if not, I configure pure QEMU. Before starting, make sure you have: Added the controller name and IP in /etc/hosts on the compute node. Service credentials (admin-openrc) and access to the database server. Install and configure the components (on the compute node) vagrant@compute01:~$ sudo apt install nova-compute -y Edit /etc/nova/nova.conf and point the connection strings to the controller databases:

  • openstack
  • installation
  • nova
Sunday, November 23, 2025 | 2 minutes Read
Hero Image
Key Auth in Kong

An API key may look like little more than a random string that a client adds to every request. To use it correctly, however, it helps to separate three ideas: the credential presented by the client, the validation performed by Kong Gateway, and the identity of the Consumer associated with that credential. This article covers those three layers and builds a reproducible lab with Kong Ingress Controller. We will first understand each resource, then apply it, and finally verify what happens inside Kong.

  • Kong
  • Authentication
  • API Key
  • Key Auth
  • KIC
Sunday, July 26, 2026 | 8 minutes Read
Hero Image
11 - Configure Neutron on the controller node

This page installs and configures the Neutron networking service on the controller node (controller01). Neutron manages virtual networks, routers, subnets, and other networking components for instances. Prerequisites Before starting, ensure you have: Keystone installed and reachable. A MySQL/MariaDB database available. Administrative credentials (admin-openrc) to create users and services. Create the database Connect to the database server as root to create the Neutron database: Access the SQL client: vagrant@controller01:~$ sudo mysql Create the neutron database: MariaDB [(none)]> CREATE DATABASE neutron; Grant privileges to user neutron (replace NEUTRON_DBPASS with your password): MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ IDENTIFIED BY 'NEUTRON_DBPASS'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ IDENTIFIED BY 'NEUTRON_DBPASS'; Exit the client when finished. Create the user and service endpoints Load your admin credentials to work with the OpenStack CLI:

  • openstack
  • installation
  • neutron
Sunday, November 23, 2025 | 4 minutes Read
Hero Image
HMAC Auth in Kong

HMAC Authentication proves that a request was created by a client that knows a shared secret without sending that secret in the request. In addition to authenticating the client, the signature detects changes to the signed elements while they are in transit. This article explains how an HMAC signature is built and validated by Kong Gateway, and how the Consumer relates to its credential. We then build a reproducible Kong Ingress Controller lab and protect /hmac-auth.

  • Kong
  • Authentication
  • HMAC
  • Signatures
  • KIC
Sunday, July 26, 2026 | 7 minutes Read
Hero Image
12 - Configure Neutron on compute nodes

On this page, we configure Neutron on the compute node (compute01). The compute node manages network connectivity and security groups for the instances that run on it. Prerequisites Make sure you have completed all previous posts before starting. Install the components vagrant@compute01:~$ sudo apt install -y neutron-linuxbridge-agent Configure the common component Edit /etc/neutron/neutron.conf to configure authentication and the message queue. In [DEFAULT], configure access to RabbitMQ and the authentication strategy:

  • openstack
  • installation
  • neutron
Sunday, November 23, 2025 | 3 minutes Read
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
Navigation
  • About Me
  • Skills
  • Education
  • Recent Posts
  • Certifications
Contact me:
  • contacto@javiercd.es
  • javierasping
  • Francisco Javier Cruces Doval

Liability Notice: This theme is under MIT license. So, you can use it for non-commercial, commercial, or private uses. You can modify or distribute the theme without requiring any permission from the theme author. However, the theme author does not provide any warranty or takes any liability for any issue with the theme.


Toha Theme Logo Toha
© 2023 Copyright.
Powered by Hugo Logo