Note :
- Ce tutoriel est disponible dans un environnement de laboratoire gratuit fourni par Oracle.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Mettre à niveau Oracle Linux Automation Manager
Présentation
Les administrateurs existants d'Oracle Linux Automation Manager connaissent son déploiement monoinstance tout-en-un.
Oracle Linux Automation Manager permet aux administrateurs de mettre à niveau leurs déploiements existants et de migrer ensuite l'instance mise à niveau vers un déploiement en grappe. Lors de la mise à niveau, l'instance se convertit 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 apprendrez à :
- Mettre à niveau Oracle Linux Automation Manager
Préalables
-
Système avec une version précédente d'Oracle Linux Automation Manager installée.
Pour plus de détails sur l'installation d'Oracle Linux Automation Manager, voir Installation d'Oracle Linux Automation Manager sur Oracle Linux.
Déployer Oracle Linux Automation Manager
Note : Si vous exécutez votre propre location, lisez les préalables du projet linux-virt-labs
GitHub README.md et remplissez les conditions requises avant de déployer l'environnement de laboratoire.
-
Ouvrez un terminal sur le Luna Desktop.
-
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 de l'exercice.
ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
L'environnement de laboratoire gratuit nécessite la variable supplémentaire
ansible_python_interpreter
car elle installe l'ensemble RPM pour la trousse SDK Oracle Cloud Infrastructure pour Python. L'emplacement de l'installation de ce package est sous les modules python3.6.La forme de déploiement par défaut utilise le processeur AMD et Oracle Linux 8. Pour utiliser une unité centrale 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 livre de jeu s'exécute avec succès et atteignez la tâche Mettre en pause. L'installation d'Oracle Linux Automation Manager est terminée à cette étape du livre de jeu et les instances sont prêtes. Prenez note de la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'il 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 de laboratoire gratuit, utilisez l'adresse IP externe de l'instance olam-node.
-
Ouvrez un navigateur Web et entrez l'URL.
https://localhost:8444
Note : Approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Cliquez sur le bouton **Avancé pour Chrome, puis sur le lien Passer à localhost (non sécurisé).
-
Connectez-vous à Oracle Linux Automation Manager avec USERNAME
admin
et PASSWORDadmin
créés lors du déploiement automatisé. -
Après la connexion, WebUI s'affiche.
Exécuter la mise à niveau
-
Passez au terminal connecté à l'instance olam-node qui exécute 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 chiffrer 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 effectue un dump du contenu de la base de données dans un fichier contenant toutes les commandes SQL et données nécessaires à la restauration de la base.
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 l'ensemble de base de données courant.
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 PostgreSQL 12 et 13 lors de la mise à niveau. Cet exercice utilise la version 13.
sudo dnf -y module reset postgresql sudo dnf -y module enable postgresql:13
-
Mettez à jour l'ensemble du référentiel Oracle Linux Automation Manager.
sudo dnf -y update oraclelinux-automation-manager-release-el8
Note : Cette étape indique qu'il n'y a rien à faire dans l'environnement de laboratoire gratuit, car le déploiement initial a déjà installé le dernier ensemble 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 ensembles Oracle Linux Automation Manager vers la version 2.
sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
-
Activez le référentiel courant.
sudo dnf config-manager --enable ol8_automation2.2
-
Mettez à jour l'ensemble Oracle Linux Automation Manager.
sudo dnf -y update ol-automation-manager
Note : 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 avoir effectué la restauration à l'aide du fichier de vidage. -
Remplacez le fichier de paramètres globaux par défaut d'Oracle Linux Automation Manager.
Après la mise à niveau de l'ensemble 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 de 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
-
Voir les différences entre les nouveaux et anciens fichiers de paramètres globaux.
sudo diff /etc/tower/settings.py /etc/tower/settings.py.save
Note : 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és 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 règle le paramètre
CLUSTER_HOST_ID
à l'adresse IP du système et les noms de file d'attente par défaut au 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.Note : 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 tâches ne soient bloquées dans un statut en attente après la mise à niveau. Le nom de file d'attente par défaut dans la version 1 esttower
, alors que dans la version 2, il estdefault
. -
Mettez à jour le fichier de configuration Receptor.
Le maillage Receptor 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 Receptor.
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 pour le maillage Receptor, qui est par défaut le port TCP 27199.
-
Déployer Oracle Linux Automation Manager.
-
Ouvrez un interpréteur de commandes en tant qu'utilisateur
awx
.sudo su -l awx -s /bin/bash
-
Migrez tous les conteneurs existants vers la dernière version de podman tout en conservant les espaces de noms sans privilèges actifs.
podman system migrate
-
Extrayez l'environnement d'exécution d'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 de 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
-
Redémarrez 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érifier la mise à niveau
-
Actualisez la fenêtre du navigateur Web utilisée pour afficher la WebUI précédente, ou ouvrez une nouvelle fenêtre du 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 d'utilisateur
admin
et le mot de passeadmin
. -
Après la connexion, WebUI s'affiche.
Étapes suivantes
La mise à niveau est terminée et les tâches sont prêtes à être exécutées. 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 le poste de formation Oracle Linux.
Liens connexes
Documentation sur Oracle Linux Automation Manager
Formation sur Oracle Linux Automation Manager
Station de formation Oracle Linux
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.