Remarques :
- Ce tutoriel est disponible dans un environnement d'atelier gratuit fourni par Oracle.
- Il utilise des exemples de valeurs pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Mettre à niveau Oracle Linux Automation Manager
Introduction
Les administrateurs Oracle Linux Automation Manager existants connaissent bien son déploiement monoinstance tout-en-un.
Oracle Linux Automation Manager permet aux administrateurs de mettre à niveau leurs déploiements existants et de migrer ultérieurement l'instance mise à niveau vers un déploiement en cluster. Lors de la mise à niveau, l'instance est convertie en un déploiement à hôte unique et se configure en tant que noeud hybride.
Après avoir suivi ce tutoriel, vous saurez comment mettre à niveau Oracle Linux Automation Manager à partir d'une version précédente.
Objectifs
Dans ce tutoriel, vous allez apprendre à :
- Mettre à niveau Oracle Linux Automation Manager
Prérequis
-
Système sur lequel une version antérieure d'Oracle Linux Automation Manager est installée.
Pour plus d'informations sur l'installation d'Oracle Linux Automation Manager, reportez-vous à Installation d'Oracle Linux Automation Manager sur Oracle Linux.
Déployer Oracle Linux Automation Manager
Remarque : en cas d'exécution dans votre propre location, lisez le projet linux-virt-labs
GitHub README.md et respectez les prérequis avant de déployer l'environnement d'atelier.
-
Ouvrez un terminal sur le bureau Luna.
-
Clonez le projet
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Accédez au répertoire de travail.
cd linux-virt-labs/olam
-
Installez les collections requises.
ansible-galaxy collection install -r requirements.yml
-
Mettez à jour la configuration de l'instance Oracle Linux.
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "olam-node" type: "control" passwordless_ssh: true olam_type: v1 EOF
-
Déployez l'environnement d'exercice.
ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
L'environnement d'atelier gratuit nécessite la variable supplémentaire
ansible_python_interpreter
car il installe le package RPM pour le kit SDK Oracle Cloud Infrastructure pour Python. L'emplacement d'installation de ce package se trouve sous les modules python3.6.La forme de déploiement par défaut utilise la CPU AMD et Oracle Linux 8. Pour utiliser une CPU Intel ou Oracle Linux 9, ajoutez
-e instance_shape="VM.Standard3.Flex"
ou-e os_version="9"
à la commande de déploiement.Important : attendez que le playbook s'exécute correctement et atteignez la tâche de pause. L'installation d'Oracle Linux Automation Manager est terminée à ce stade du manuel et les instances sont prêtes. Notez la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'elle déploie.
Connectez-vous à WebUI.
-
Ouvrez un terminal et configurez un tunnel SSH vers Oracle Linux Automation Manager.
ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
Dans l'environnement d'exercices gratuits, utilisez l'adresse IP externe de l'instance olam-node.
-
Ouvrez un navigateur Web et saisissez l'URL.
https://localhost:8444
Remarque : approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Cliquez sur le bouton **Advanced pour Chrome, puis sur le lien Proceed to localhost (unsafe).
-
Connectez-vous à Oracle Linux Automation Manager avec le nom utilisateur
admin
et le mot de passeadmin
créés lors du déploiement automatisé. -
Après la connexion, WebUI s'affiche.
Exécution de la mise à niveau
-
Basculez vers le terminal connecté à l'instance olam-node exécutant l'instance Oracle Linux Automation Manager.
-
Arrêtez le service Oracle Linux Automation Manager.
sudo systemctl stop ol-automation-manager
-
Créez une sauvegarde de la clé secrète utilisée par Oracle Linux Automation Manager pour crypter les clés secrètes d'automatisation dans la base de données.
sudo cp /etc/tower/SECRET_KEY ~/SECRET_KEY.olamv1
-
Créez une sauvegarde de la base de données.
Cette commande vide le contenu de la base de données dans un fichier contenant toutes les commandes SQL et données nécessaires pour restaurer la base de données.
sudo su - postgres -c pg_dumpall > /tmp/olamv1_db_dump
-
Arrêtez le service de base de données.
sudo systemctl stop postgresql
-
Supprimez les fichiers de données de base de données existants.
sudo rm -rf /var/lib/pgsql/data
Cette commande supprime les fichiers de données de base de données existants. La base de données est reconstruite ultérieurement à l'aide du fichier dump.
-
Désinstallez le package de base de données en cours.
sudo dnf -y remove postgresql
-
Activez le flux de module pour la nouvelle version de base de données.
Oracle Linux Automation Manager permet d'utiliser les versions PostgreSQL 12 et 13 lors de la mise à niveau. Cet atelier utilise la version 13.
sudo dnf -y module reset postgresql sudo dnf -y module enable postgresql:13
-
Mettez à jour le package de référentiel Oracle Linux Automation Manager.
sudo dnf -y update oraclelinux-automation-manager-release-el8
Remarque : cette étape indique qu'il n'y a rien à faire dans l'environnement d'atelier gratuit car le déploiement initial a déjà installé le dernier package de référentiel pour Oracle Linux Automation Manager.
-
Désactivez tous les référentiels Oracle Linux Automation Manager.
sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
-
Mettez à niveau les packages Oracle Linux Automation Manager vers la version 2.
sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
-
Activez le référentiel en cours.
sudo dnf config-manager --enable ol8_automation2.2
-
Mettez à jour le package Oracle Linux Automation Manager.
sudo dnf -y update ol-automation-manager
Remarque : les messages attendus suivants sont affichés dans la sortie lors de la mise à niveau.
Upgrading : ol-automation-manager-2.1.0-10.el8.x86_64 26/28 warning: /etc/tower/settings.py created as /etc/tower/settings.py.rpmnew Running scriptlet: ol-automation-manager-2.1.0-10.el8.x86_64 26/28 ValueError: File context for /var/run/tower(/.*)? already defined
-
Installez le serveur de base de données.
sudo dnf -y install postgresql-server
-
Initialisez, puis démarrez et restaurez la base de données.
sudo postgresql-setup --initdb sudo systemctl start postgresql sudo su - postgres -c 'psql -d postgres -f /tmp/olamv1_db_dump'
-
Vérifiez que la base de données est disponible.
sudo su - postgres -c 'psql -l | grep awx'
Exemple de sortie :
[oracle@control-node ~]$ sudo su - postgres -c 'psql -l | grep awx' awx | awx | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
La sortie affiche le compte
awx
créé dans la base de données après l'exécution de la restauration à l'aide du fichier dump. -
Remplacez le fichier de paramètres globaux par défaut d'Oracle Linux Automation Manager.
Après la mise à niveau du package Oracle Linux Automation Manager, le nouveau RPM crée un fichier de configuration par défaut avec l'extension
.rpmnew
. Ce processus permet aux administrateurs système de vérifier les différences de configuration et de migrer manuellement les modifications nécessaires.sudo mv /etc/tower/settings.py /etc/tower/settings.py.save sudo mv /etc/tower/settings.py.rpmnew /etc/tower/settings.py
-
Affichez les différences entre les nouveaux et anciens fichiers de paramètres globaux.
sudo diff /etc/tower/settings.py /etc/tower/settings.py.save
Remarque : tous les paramètres personnalisés précédemment ajoutés au fichier
settings.py
doivent être définis dans WebUI ou déplacés vers un fichier sous/etc/tower/conf.d
. -
Créez un fichier de paramètres personnalisé contenant les paramètres requis.
cat << EOF | sudo tee /etc/tower/conf.d/olamv2.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' DEFAULT_EXECUTION_QUEUE_NAME = 'tower' DEFAULT_CONTROL_PLANE_QUEUE_NAME = 'tower' EOF
Cette commande définit le paramètre
CLUSTER_HOST_ID
sur l'adresse IP du système et les noms de file d'attente par défaut sur le nom par défauttower
de la version pré-mise à niveau. Les valeurs entrées dans les fichiers de configuration doivent respecter le format de syntaxe Python.Remarque : lors de la mise à niveau d'Oracle Linux Automation Manager, la valeur
CLUSTER_HOST_ID
doit correspondre à la valeur de l'installation précédente pour éviter que les travaux ne soient bloqués au statut En attente après la mise à niveau. Le nom de file d'attente par défaut dans la version 1 esttower
, tandis que dans la version 2, il estdefault
. -
Mettez à jour le fichier de configuration du récepteur.
Le maillage du récepteur est un réseau superposé qui crée des connexions peer-to-peer entre les contrôleurs et les exécuteurs pour gérer la distribution du travail.
sudo sed -i "s/0.0.0.0/$(hostname -i)/" /etc/receptor/receptor.conf
-
Vérifiez le fichier de configuration du récepteur.
sudo cat /etc/receptor/receptor.conf
id:
est le nom d'hôte ou l'adresse IP du système Oracle Linux Automation Manager.port:
est le port d'écoute TCP du maillage du récepteur, qui est défini par défaut sur le port TCP 27199.
-
Déployez Oracle Linux Automation Manager.
-
Ouvrez un shell en tant qu'utilisateur
awx
.sudo su -l awx -s /bin/bash
-
Migrez les conteneurs existants vers la dernière version de podman tout en conservant les espaces de noms sans privilège.
podman system migrate
-
Extrayez l'environnement d'exécution Oracle Linux Automation Engine pour Oracle Linux Automation Manager.
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2
-
Utilisez l'utilitaire
awx-manage
pour configurer l'instance Oracle Linux Automation Manager.awx-manage makemigrations --merge awx-manage migrate awx-manage register_default_execution_environments exit
-
-
Restaurez la sauvegarde du fichier de clé secrète.
sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
-
Ajoutez le paramètre suivant au fichier de paramètres d'Oracle Linux Automation Manager.
cat << EOF | sudo tee -a /etc/tower/conf.d/olamv2.py > /dev/null # OLAM Reaper Job Status Tracking REAPER_TIMEOUT_SEC = 60 EOF
-
Remplacez la configuration par défaut pour NGINX.
cat << EOF | sudo tee /etc/nginx/nginx.conf > /dev/null user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; } EOF
-
Mettez à jour les paramètres de réglage de la base de données.
sudo sed -i 's/max_connections = [0-9]\+/max_connections = 1024/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/shared_buffers = [0-9]\+MB/shared_buffers = 5400MB/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(work_mem = \)[0-9]\+MB/\1'540MB/ /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(maintenance_work_mem = \)[0-9]\+MB/\1'720MB/ /var/lib/pgsql/data/postgresql.conf
-
Relancez la base de données.
sudo systemctl restart postgresql
-
Redémarrez NGINX.
sudo systemctl restart nginx
-
Démarrez Oracle Linux Automation Manager.
sudo systemctl start ol-automation-manager
Vérifiez la mise à niveau
-
Actualisez la fenêtre du navigateur Web utilisée pour afficher le WebUI précédent, ou ouvrez une nouvelle fenêtre de navigateur Web et entrez l'URL.
https://localhost:8444
Le port utilisé dans l'URL doit correspondre au port local du tunnel SSH.
-
Connectez-vous à nouveau à Oracle Linux Automation Manager avec le nom utilisateur
admin
et le mot de passeadmin
. -
Après la connexion, WebUI s'affiche.
Etapes suivantes
La mise à niveau est terminée et les travaux sont prêts à être exécutés. Pour en savoir plus sur Oracle Linux Automation Manager, consultez la documentation et continuez à développer vos compétences en consultant notre autre formation Oracle Linux Automation Manager sur Oracle Linux Training Station.
Liens connexes
Documentation d'Oracle Linux Automation Manager
Formation Oracle Linux Automation Manager
Station de formation Oracle Linux
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation produit, consultez le site Oracle Help Center.