Il y a quelques mois, je vous expliquais comment installer et upgrader AWX via
l’utilisation de l’opérateur Kubernetes AWX. Mais voilà lors d’un upgrade et je
suis impardonnable, j’ai perdu le secret stockant le mot de passe de connexion à
la base de données Postgres en effaçant le namespace AWX. Donc j’ai décidé
d’utiliser une base de données installée sur un autre serveur. Voyons comment
procéder.
Création de la base de données Postgres
Installation et configuration de Postgres
Sur un serveur, je vais commencer par installer le serveur postgres et créer
une base de données AWX. Commençons par installer postgres :
Il faut modifier la configuration pour autoriser les connexions depuis les
adresses IP des nodes du cluster kubernetes. Pour cela, on cherche quelles sont
les adresses IP assignées :
Je vais autoriser les connexions depuis le réseau 10.42.0.0/24. J’ajoute
les ranges d’adresses dans la configuration de postgres, en incluant celui de
mon réseau (192.168.1.1/24).
Il faut aussi modifier sur quelle adresse postgress écoute :
Rechercher listen_addresses copier la ligne et remplacer localhost par ’*’ :
On peut relancer postgres :
Création de la base de données AWX
Il faut, avant d’installer l’opérateur, créer la base de données, un user
et lui donner les droits en écriture. Depuis un terminal :
C’est bon tout est prêt, passons à l’installation de l’opérateur AWX.
Installation de l’opérateur AWX
Récupérer le projet AWX-Operator
Un simple git clone dans un répertoire va suffire :
Paramétrage de l’opérateur AWX
Vous allez voir c’est très simple. On va dans un premier temps retrouver la
dernière version disponible et créer le namespace AWX :
Passons au déploiement de l’opérateur Kubernetes :
On vérifie que l’installation s’est correctement terminée. Vous devriez
retrouver un pod :
C’est ce pod qui est chargé d’installer AWX à partir d’une configuration que
nous allons lui indiquer.
Configurer l’installation d’Ansible AWX
Dans un premier pour rendre persistante l’installation, nous allons définir un
Persistent Volume Claim :
Idem, nous créons un seul Persistent Volume qui stockera les projets :
Il faut aussi créer le secret permettant à AWX de se connecter à la base de
données de postgres.
Maintenant créons la déclaration de notre serveur AWX. L’opérateur se charge
de créer l’ingress, donc modifier avec votre nom de domaine (hostname).
À présent, vous allez devoir patienter que l’installation se termine, cela peut
être long (plusieurs minutes). Vous pouvez vérifier que tout se passe bien.
Les pods sont ils en running :
Les services sont ils déclarés :
Si vous avez des problèmes, vous pouvez vérifier les logs des containers ou les
événements :
Accès à l’interface d’AWX depuis votre navigateur
Vous pouvez vous connecter à l’interface web via l’url **http://<votre-domaine>'**
Le user est admin et le mot de passe est stocké dans les secrets :
Maintenant reste plus qu’à mettre en place une sauvegarde de la base de données.
Avant tout upgrade un petit backup de celle-ci et du répertoire projects, et
les problèmes ne devraient plus arriver !