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.
Installer Oracle Linux Automation Manager sur Oracle Linux
Présentation
Oracle Linux Automation Manager est un moteur de tâches et une interface utilisateur graphique basée sur le Web permettant de programmer et d'exécuter des livres de jeu Oracle Linux Automation Engine en fonction des stocks d'hôtes distants. Cette suite d'outils permet aux administrateurs de gérer facilement leur infrastructure informatique et d'effectuer des tâches répétitives de manière connue et prévisible, tout en évitant les problèmes courants d'administration manuelle.
Oracle Linux Automation Engine est un outil permettant de gérer et d'exécuter des tâches d'administration à l'aide d'une infrastructure basée sur du code en tant que fichiers de définition YAML appelés livres de jeu (IaC). Ces livres de jeu comprennent des tâches pédagogiques telles que le déploiement de logiciels, la configuration de systèmes et l'orchestration des mises à niveau et des mises à jour.
Objectifs
Dans ce tutoriel, vous apprendrez à :
- Activer le référentiel DNF Oracle Linux
- Définir les règles de pare-feu
- Télécharger, installer et configurer un hôte unique Oracle Linux Automation Manager
Préalables
- Un système avec Oracle Linux installé.
Déployer Oracle Linux
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" olam_type: none EOF
-
Sert à créer un fichier d'inventaire.
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
Déployez l'environnement de l'exercice.
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
L'environnement de laboratoire gratuit nécessite la variable supplémentaire
ansible_python_interpreter
pour localhost, car il installe l'ensemble RPM pour la trousse SDK Oracle Cloud Infrastructure pour Python. L'emplacement d'installation de cet ensemble est sous les modules Python par défaut du système en fonction de votre version d'Oracle Linux. L'utilisation d'une variable d'inventaire évite d'avoir une incidence sur les lectures exécutées sur des hôtes autres que localhost.La forme de déploiement par défaut utilise l'unité centrale AMD. Vous pouvez modifier la forme des instances en transmettant une nouvelle définition de variable de forme sur la ligne de commande.
Par exemple :
-e instance_shape="VM.Standard3.Flex"
De même, la version par défaut de l'image Oracle Linux utilise la variable
os_version
définie dans le fichier `default_vars.yml. Vous pouvez modifier cette valeur en transmettant la version principale d'Oracle Linux sur la ligne de commande.Par exemple :
-e os_version="9"
Important : Attendez que le livre de jeu s'exécute avec succès et atteignez la tâche Mettre en pause. À ce stade du livre de jeu, l'installation d'Oracle Linux est terminée et les instances sont prêtes. Notez la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'il déploie.
Activer le référentiel DNF Oracle Linux et définir les règles de pare-feu
Activez les référentiels yum et les règles de pare-feu requis avant d'installer Oracle Linux Automation Manager.
-
Ouvrez un terminal et connectez-vous via ssh au noeud olam-node.
ssh oracle@<ip_address_of_instance>
-
Installez le référentiel Oracle Linux Automation Manager.
Oracle Linux 8 :
sudo dnf -y install oraclelinux-automation-manager-release-el8
Oracle Linux 9 :
sudo dnf -y install oraclelinux-automation-manager-release-el9
Cette commande active le dernier référentiel Oracle Linux Automation Manager par défaut pour l'installation des ensembles du produit.
-
Ajoutez les services HTTP/HTTPS aux règles de pare-feu.
sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
Installer une base de données PostgreSQL locale
-
Activer le flux de module.
sudo dnf module reset postgresql sudo dnf -y module enable postgresql:16
-
Installez la base de données.
sudo dnf -y install postgresql-server
-
Initialisez la base de données.
sudo postgresql-setup --initdb
-
Remplacez le mécanisme de stockage des mots de passe par scram-sha-256.
sudo sed -i "s/#password_encryption.*/password_encryption = scram-sha-256/" /var/lib/pgsql/data/postgresql.conf
-
Activez et démarrez la base de données.
sudo systemctl enable --now postgresql
-
Créez les comptes utilisateur de la base de données.
Important : Pour cet environnement de laboratoire gratuit, utilisez le mot de passe
password
à l'invite. Ce mot de passe n'est pas sécurisé et nous n'utilisons ce mot de passe qu'à des fins de démonstration dans cet environnement.sudo su - postgres -c "createuser -S -P awx"
-
Créer la base de données.
sudo su - postgres -c "createdb -O awx awx"
-
Mettez à jour le fichier d'authentification basée sur l'hôte.
echo "host all all 0.0.0.0/0 scram-sha-256" | sudo tee -a /var/lib/pgsql/data/pg_hba.conf > /dev/null
-
Mettez à jour l'adresse IP du module d'écoute de la base de données.
sudo sed -i "/^#port = 5432/i listen_addresses = '"$(hostname -i)"'" /var/lib/pgsql/data/postgresql.conf
-
Mettez à jour les besoins en mémoire de la base de données.
Ces calculs tirent parti de la mémoire totale du système en mégaoctets et remplacent les valeurs par défaut dans le fichier de configuration PostgreSQL.
export TOTAL_MEMORY="$(free --mega | awk 'FNR == 2 {print $2}')" sudo sed -i 's/max_connections = 100/max_connections = 1024/g' /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^shared_buffers =/c\shared_buffers = $( echo "($TOTAL_MEMORY*0.3)/1" | bc )" /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^#work_mem =/c\work_mem = $( echo "($TOTAL_MEMORY*0.03)/1" | bc )" /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^#maintenance_work_mem =/c\maintenance_work_mem = $( echo "($TOTAL_MEMORY*0.04)/1" | bc )MB" /var/lib/pgsql/data/postgresql.conf
-
Redémarrez la base de données.
sudo systemctl restart postgresql
Installer et configurer Oracle Linux Automation Manager
-
Installez l'ensemble Oracle Linux Automation Manager et toutes les dépendances.
sudo dnf -y install ol-automation-manager
-
Mettez à jour le fichier de configuration Redis.
Oracle Linux 8 :
sudo sed -i '/^# unixsocketperm/a unixsocket /var/run/redis/redis.sock\nunixsocketperm 775' /etc/redis.conf
Oracle Linux 9 :
sudo sed -i '/^# unixsocketperm/a unixsocket /var/run/redis/redis.sock\nunixsocketperm 775' /etc/redis/redis.conf
-
Ajoutez le fichier CLUSTER_HOST_ID à un fichier de paramètres personnalisés.
cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' EOF
Note : L'utilisation de
$(hostname -i)
ne fonctionne pas pour les systèmes pour lesquels IPv6 est activé en raison d'espaces existants dans la sortie. Utilisez plutôt le nom d'hôte du système, ce qui est possible à l'aide de$(hostname -f)
, ou d'une autre chaîne sans espaces. -
Mettez à jour les autorisations sur le fichier de paramètres personnalisés.
sudo chown awx.awx /etc/tower/conf.d/olam.py sudo chmod 0640 /etc/tower/conf.d/olam.py
-
Ajoutez des paramètres de base de données à un fichier de configuration personnalisé.
cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null DATABASES = { 'default': { 'ATOMIC_REQUESTS': True, 'ENGINE': 'awx.main.db.profiled_pg', 'NAME': 'awx', 'USER': 'awx', 'PASSWORD': 'password', 'HOST': '$(hostname -i)', 'PORT': '5432', } } EOF
-
Activer la persistance.
Oracle Linux 9 :
sudo loginctl enable-linger awx
Ce message est résolu lors de l'exécution sur un système sans tête :
WARN[0000] Le gestionnaire cgroupv2 est réglé à systemd mais il n'y a pas de session d'utilisateur systemd disponible WARN[0000] Pour utiliser systemd, vous devrez peut-être vous connecter à l'aide d'une session d'utilisateur WARN[0000] Vous pouvez également activer la persistance avec :
loginctl enable-linger 986
(peut-être en tant que racine) WARN[000] Retourner à –cgroup-manager=cgroupfs
WARN[0000] Le gestionnaire cgroupv2 est réglé à systemd mais il n'y a pas de session d'utilisateur systemd disponible WARN[0000] Pour utiliser systemd, vous devrez peut-être vous connecter à l'aide d'une session d'utilisateur WARN[0000] Vous pouvez également activer la persistance avec :loginctl enable-linger 986
(peut-être en tant que racine) WARN[000] Revenir à –cgroup-manager=cgroupfs -
Extrayez l'image de conteneur Oracle Linux Automation Manager.
Oracle Linux 8 :
sudo su -l awx -s /bin/bash
podman system migrate
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol8
Oracle Linux 9 :
sudo su -l awx -s /bin/bash
podman system migrate
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol9
-
Créez le schéma Oracle Linux Automation Manager et le compte d'utilisateur administrateur.
awx-manage migrate awx-manage createsuperuser --username admin --email admin@example.com
Note : Dans l'exemple précédent,
admin@example.com
est un exemple d'adresse de courriel de l'utilisateur administrateur. -
Entrez et confirmez le mot de passe de l'administrateur.
-
Quittez l'interpréteur de commandes de l'utilisateur awx.
exit
-
Générez un certificat SSL pour NGINX.
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/tower/tower.key -out /etc/tower/tower.crt
Entrez les informations demandées ou appuyez simplement sur la clé
ENTER
. -
Remplacez la configuration NGINX par défaut.
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 le fichier de configuration Receptor.
cat << EOF | sudo tee /etc/receptor/receptor.conf > /dev/null --- - node: id: $(hostname -i) - log-level: debug - tcp-listener: port: 27199 - control-service: service: control filename: /var/run/receptor/receptor.sock - work-command: worktype: local command: /var/lib/ol-automation-manager/venv/awx/bin/ansible-runner params: worker allowruntimeparams: true verifysignature: false EOF
-
Provisionner une instance et enregistrer des environnements d'exécution.
sudo su -l awx -s /bin/bash
awx-manage provision_instance --hostname=$(hostname -i) --node_type=hybrid
awx-manage register_default_execution_environments
awx-manage register_queue --queuename=default --hostnames=$(hostname -i)
awx-manage register_queue --queuename=controlplane --hostnames=$(hostname -i)
awx-manage create_preload_data
exit
-
Démarrez le service.
sudo systemctl enable --now ol-automation-manager.service
-
Déconnectez-vous du serveur.
exit
Vérifiez l'installation
-
A l'aide de la même fenêtre de terminal, configurez un tunnel SSH.
ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
Note : Dans l'exemple précédent,
<ip_address_of_instance>
est le nom d'hôte ou l'adresse IP du système exécutant Oracle Linux Automation Manager. Si vous utilisez le nom d'hôte, l'hôte doit être résolu. -
Ouvrez un navigateur Web et entrez l'URL.
https://localhost:8444
Note : Approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Pour Chrome, cliquez sur le bouton
Advanced
, puis sur le lienProceed to localhost (unsafe)
. -
Connectez-vous à Oracle Linux Automation Manager avec USERNAME
admin
et le mot de passe créé lors de la configuration.
Étapes suivantes
Une fois Oracle Linux Automation Manager installé, vous pouvez commencer à explorer l'interface utilisateur Web et les diverses fonctions du produit pour automatiser votre infrastructure. Consultez notre formation supplémentaire sur le poste de formation Oracle Linux pour approfondir vos connaissances et obtenir des idées.
Liens connexes
- Documentation sur Oracle Linux Automation Manager
- Formation sur Oracle Linux Automation Manager
- Parcours d'apprentissage pour 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.
Install Oracle Linux Automation Manager on Oracle Linux
G32870-03
Copyright ©2021, Oracle and/or its affiliates.