====== Installation AWX 18+ sur Rocky Linux 9 ======
== Environnement ==
* **HOST:** VM Rocky Linux 9
* **FS:**
* OS: 20GB
* AWX: 25GB
* **CPU:** 4VCPU
* **RAM:** 8GB
== Prérequis ==
* Installation des Paquets de base
dnf install wget nmap curl make git epel-release
* FS Dedié AWX
[root@awx ~]# pvcreate /dev/xvdb
Physical volume "/dev/xvdb" successfully created.
[root@awx ~]# vgcreate vg_awx /dev/xvdb
Volume group "vg_awx" successfully created
[root@awx ~]# lvcreate -n lv_awx -l+100%FREE vg_awx
Logical volume "lv_awx" created.
[root@awx ~]# mkfs.xfs /dev/mapper/vg_awx-lv_awx
meta-data=/dev/mapper/vg_awx-lv_awx isize=512 agcount=4, agsize=1638144 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=6552576, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@awx ~]# mkdir -p /awx-data
[root@awx ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Feb 22 16:51:04 2026
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rl-root / xfs defaults 0 0
UUID=05cdbb8e-0540-423e-bd38-bdc62f632cd5 /boot xfs defaults 0 0
UUID=3F3E-4DE5 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/rl-swap none swap defaults 0 0
#
### Kubernetes storage
/dev/mapper/vg_awx-lv_awx /awx-data xfs defaults 0 0
[root@awx ~]# mount -a
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.
[root@awx ~]#
[root@awx ~]#
[root@awx ~]# systemctl daemon-reload
* installation de docker-ce
root@awx ~]# dnf config-manager --add-repo=https://download.docker.com/linux/rhel/docker-ce.repo
Ajout du dépôt depuis : https://download.docker.com/linux/rhel/docker-ce.repo
[root@awx ~]# dnf install docker-ce -y
Docker CE Stable - x86_64 365 kB/s | 45 kB 00:00
Dépendances résolues.
==============================================================================================================================================================================================================
Paquet Architecture Version Dépôt Taille
==============================================================================================================================================================================================================
Installation:
docker-ce x86_64 3:29.2.1-1.el9 docker-ce-stable 24 M
Installation des dépendances:
container-selinux noarch 4:2.240.0-3.el9_7 appstream 58 k
containerd.io x86_64 2.2.1-1.el9 docker-ce-stable 35 M
docker-ce-cli x86_64 1:29.2.1-1.el9 docker-ce-stable 8.4 M
fuse-overlayfs x86_64 1.16-1.el9_7 appstream 66 k
passt x86_64 0^20250512.g8ec1341-4.el9_7 appstream 256 k
passt-selinux noarch 0^20250512.g8ec1341-4.el9_7 appstream 26 k
Installation des dépendances faibles:
docker-buildx-plugin x86_64 0.31.1-1.el9 docker-ce-stable 21 M
docker-ce-rootless-extras x86_64 29.2.1-1.el9 docker-ce-stable 3.4 M
docker-compose-plugin x86_64 5.0.2-1.el9 docker-ce-stable 8.1 M
Résumé de la transaction
==============================================================================================================================================================================================================
Installer 10 Paquets
Taille totale des téléchargements : 100 M
Taille des paquets installés : 395 M
Téléchargement des paquets :
(1/10): docker-buildx-plugin-0.31.1-1.el9.x86_64.rpm 29 MB/s | 21 MB 00:00
(2/10): containerd.io-2.2.1-1.el9.x86_64.rpm 37 MB/s | 35 MB 00:00
(3/10): docker-ce-29.2.1-1.el9.x86_64.rpm 23 MB/s | 24 MB 00:01
(4/10): docker-ce-cli-29.2.1-1.el9.x86_64.rpm 21 MB/s | 8.4 MB 00:00
(5/10): docker-ce-rootless-extras-29.2.1-1.el9.x86_64.rpm 16 MB/s | 3.4 MB 00:00
(6/10): container-selinux-2.240.0-3.el9_7.noarch.rpm 959 kB/s | 58 kB 00:00
(7/10): fuse-overlayfs-1.16-1.el9_7.x86_64.rpm 6.9 MB/s | 66 kB 00:00
(8/10): passt-0^20250512.g8ec1341-4.el9_7.x86_64.rpm 11 MB/s | 256 kB 00:00
(9/10): passt-selinux-0^20250512.g8ec1341-4.el9_7.noarch.rpm 1.5 MB/s | 26 kB 00:00
(10/10): docker-compose-plugin-5.0.2-1.el9.x86_64.rpm 30 MB/s | 8.1 MB 00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 67 MB/s | 100 MB 00:01
Docker CE Stable - x86_64 30 kB/s | 1.6 kB 00:00
Import de la clef GPG 0x621E9F35 :
Utilisateur : « Docker Release (CE rpm) »
Empreinte : 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
Provenance : https://download.docker.com/linux/rhel/gpg
La clé a bien été importée
Test de la transaction
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
Préparation : 1/1
Installation : passt-0^20250512.g8ec1341-4.el9_7.x86_64 1/10
Exécution du scriptlet: passt-selinux-0^20250512.g8ec1341-4.el9_7.noarch 2/10
Installation : passt-selinux-0^20250512.g8ec1341-4.el9_7.noarch 2/10
Exécution du scriptlet: passt-selinux-0^20250512.g8ec1341-4.el9_7.noarch 2/10
Exécution du scriptlet: container-selinux-4:2.240.0-3.el9_7.noarch 3/10
Installation : container-selinux-4:2.240.0-3.el9_7.noarch 3/10
Exécution du scriptlet: container-selinux-4:2.240.0-3.el9_7.noarch 3/10
Installation : docker-buildx-plugin-0.31.1-1.el9.x86_64 4/10
Exécution du scriptlet: docker-buildx-plugin-0.31.1-1.el9.x86_64 4/10
Installation : docker-compose-plugin-5.0.2-1.el9.x86_64 5/10
Exécution du scriptlet: docker-compose-plugin-5.0.2-1.el9.x86_64 5/10
Installation : docker-ce-cli-1:29.2.1-1.el9.x86_64 6/10
Exécution du scriptlet: docker-ce-cli-1:29.2.1-1.el9.x86_64 6/10
Installation : containerd.io-2.2.1-1.el9.x86_64 7/10
Exécution du scriptlet: containerd.io-2.2.1-1.el9.x86_64 7/10
Installation : fuse-overlayfs-1.16-1.el9_7.x86_64 8/10
Exécution du scriptlet: fuse-overlayfs-1.16-1.el9_7.x86_64 8/10
Installation : docker-ce-rootless-extras-29.2.1-1.el9.x86_64 9/10
Exécution du scriptlet: docker-ce-rootless-extras-29.2.1-1.el9.x86_64 9/10
Installation : docker-ce-3:29.2.1-1.el9.x86_64 10/10
Exécution du scriptlet: docker-ce-3:29.2.1-1.el9.x86_64 10/10
Exécution du scriptlet: passt-selinux-0^20250512.g8ec1341-4.el9_7.noarch 10/10
Exécution du scriptlet: container-selinux-4:2.240.0-3.el9_7.noarch 10/10
Exécution du scriptlet: docker-ce-3:29.2.1-1.el9.x86_64 10/10
Vérification de : containerd.io-2.2.1-1.el9.x86_64 1/10
Vérification de : docker-buildx-plugin-0.31.1-1.el9.x86_64 2/10
Vérification de : docker-ce-3:29.2.1-1.el9.x86_64 3/10
Vérification de : docker-ce-cli-1:29.2.1-1.el9.x86_64 4/10
Vérification de : docker-ce-rootless-extras-29.2.1-1.el9.x86_64 5/10
Vérification de : docker-compose-plugin-5.0.2-1.el9.x86_64 6/10
Vérification de : container-selinux-4:2.240.0-3.el9_7.noarch 7/10
Vérification de : fuse-overlayfs-1.16-1.el9_7.x86_64 8/10
Vérification de : passt-0^20250512.g8ec1341-4.el9_7.x86_64 9/10
Vérification de : passt-selinux-0^20250512.g8ec1341-4.el9_7.noarch 10/10
Installé:
container-selinux-4:2.240.0-3.el9_7.noarch containerd.io-2.2.1-1.el9.x86_64 docker-buildx-plugin-0.31.1-1.el9.x86_64 docker-ce-3:29.2.1-1.el9.x86_64
docker-ce-cli-1:29.2.1-1.el9.x86_64 docker-ce-rootless-extras-29.2.1-1.el9.x86_64 docker-compose-plugin-5.0.2-1.el9.x86_64 fuse-overlayfs-1.16-1.el9_7.x86_64
passt-0^20250512.g8ec1341-4.el9_7.x86_64 passt-selinux-0^20250512.g8ec1341-4.el9_7.noarch
Terminé !
[root@awx ~]# docker --version
Docker version 29.2.1, build a5c7197
* Démarrage et activation du service docker
[root@awx ~]# systemctl start docker
[root@awx ~]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[root@awx ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
Active: active (running) since Sun 2026-02-22 19:12:58 CET; 9s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 3506 (dockerd)
Tasks: 9
Memory: 24.2M (peak: 27.0M)
CPU: 127ms
CGroup: /system.slice/docker.service
└─3506 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
févr. 22 19:12:57 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:57.108253923+01:00" level=info msg="Deleting nftables IPv6 rules" error="exit status 1"
févr. 22 19:12:57 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:57.133420184+01:00" level=info msg="Firewalld: created docker-forwarding policy"
févr. 22 19:12:58 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:58.130998133+01:00" level=info msg="Loading containers: done."
févr. 22 19:12:58 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:58.142711819+01:00" level=info msg="Docker daemon" commit=6bc6209 containerd-snapshotter=true storage-driver=overlayfs version=29.2>
févr. 22 19:12:58 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:58.143002071+01:00" level=info msg="Initializing buildkit"
févr. 22 19:12:58 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:58.150157177+01:00" level=warning msg="git source cannot be enabled: failed to find git binary: exec: \"git\": executable file not >
févr. 22 19:12:58 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:58.157490528+01:00" level=info msg="Completed buildkit initialization"
févr. 22 19:12:58 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:58.166329155+01:00" level=info msg="Daemon has completed initialization"
févr. 22 19:12:58 awx.labo.delag.fr dockerd[3506]: time="2026-02-22T19:12:58.166397980+01:00" level=info msg="API listen on /run/docker.sock"
févr. 22 19:12:58 awx.labo.delag.fr systemd[1]: Started Docker Application Container Engine.
[root@awx ~]#
* installation de kubernetes
[root@awx ~]# curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 55.8M 100 55.8M 0 0 90.8M 0 --:--:-- --:--:-- --:--:-- 90.8M
[root@awx ~]# install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
* installation de k3d (distribution minimaliste de Kubernetes fournie par Rancher Lab basée sur des machines virtuelles. K3d est un wrapper léger de k3s pour fonctionner avec Docker.)
[root@awx ~]# wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
Preparing to install k3d into /usr/local/bin
k3d installed into /usr/local/bin/k3d
Run 'k3d --help' to see what you can do with it.
* création du cluster
[root@awx ~]# k3d cluster create cluster1
INFO[0000] Prep: Network
INFO[0000] Created network 'k3d-cluster1'
INFO[0000] Created image volume k3d-cluster1-images
INFO[0000] Starting new tools node...
INFO[0000] Starting node 'k3d-cluster1-tools'
INFO[0001] Creating node 'k3d-cluster1-server-0'
INFO[0001] Creating LoadBalancer 'k3d-cluster1-serverlb'
INFO[0001] Using the k3d-tools node to gather environment information
INFO[0001] HostIP: using network gateway 172.18.0.1 address
INFO[0001] Starting cluster 'cluster1'
INFO[0001] Starting servers...
INFO[0001] Starting node 'k3d-cluster1-server-0'
INFO[0005] All agents already running.
INFO[0005] Starting helpers...
INFO[0005] Starting node 'k3d-cluster1-serverlb'
INFO[0011] Injecting records for hostAliases (incl. host.k3d.internal) and for 2 network members into CoreDNS configmap...
INFO[0013] Cluster 'cluster1' created successfully!
INFO[0013] You can now use it like this:
kubectl cluster-info
[root@awx ~]# kubectl cluster-info
Kubernetes control plane is running at https://0.0.0.0:44777
CoreDNS is running at https://0.0.0.0:44777/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://0.0.0.0:44777/api/v1/namespaces/kube-system/services/https:metrics-server:https/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
[root@awx ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k3d-cluster1-server-0 Ready control-plane,master 54s v1.31.5+k3s1
== Installation HELM ==
HELM est le gestionnaire de paquets pour Kubernetes
[root@awx ~]# dnf install helm
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:09:02 le sam. 28 févr. 2026 11:53:17.
Dépendances résolues.
==============================================================================================================================================================================================================
Paquet Architecture Version Dépôt Taille
==============================================================================================================================================================================================================
Installation:
helm x86_64 4.1.1-1.el9 epel 20 M
Résumé de la transaction
==============================================================================================================================================================================================================
Installer 1 Paquet
Taille totale des téléchargements : 20 M
Taille des paquets installés : 85 M
Voulez-vous continuer ? [o/N] : o
Téléchargement des paquets :
helm-4.1.1-1.el9.x86_64.rpm 42 MB/s | 20 MB 00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 15 MB/s | 20 MB 00:01
Extra Packages for Enterprise Linux 9 - x86_64 750 kB/s | 1.6 kB 00:00
Import de la clef GPG 0x3228467C :
Utilisateur : « Fedora (epel9) »
Empreinte : FF8A D134 4597 106E CE81 3B91 8A38 72BF 3228 467C
Provenance : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
Voulez-vous continuer ? [o/N] : o
La clé a bien été importée
Test de la transaction
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
Préparation : 1/1
Installation : helm-4.1.1-1.el9.x86_64 1/1
Exécution du scriptlet: helm-4.1.1-1.el9.x86_64 1/1
Vérification de : helm-4.1.1-1.el9.x86_64 1/1
Installé:
helm-4.1.1-1.el9.x86_64
Terminé !
[root@awx ~]# helm version
version.BuildInfo{Version:"v4.1.1", GitCommit:"5caf0044d4ef3d62a955440272999e139aafbbed", GitTreeState:"clean", GoVersion:"go1.25.5 (Red Hat 1.25.5-2.el9_7)", KubeClientVersion:"v1.35"}