meta données pour cette page
Ceci est une ancienne révision du document !
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
- FS Dedié AWX
[root@awx ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created. [root@awx ~]# vgcreate vg_awx /dev/sdb 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 [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 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) <docker@docker.com> » 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