Remarques :

Installation d'Oracle Linux Automation Manager sur Oracle Linux

Introduction

Oracle Linux Automation Manager est un moteur de tâches et une interface utilisateur graphique (GUI) basée sur le Web pour la planification et l'exécution des livres de jeux Oracle Linux Automation Engine par rapport aux inventaires des 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, en évitant les problèmes d'administration manuels courants.

Oracle Linux Automation Engine est un outil permettant de gérer et d'exécuter des tâches d'administration à l'aide de fichiers de définition YAML basés sur du code (IaC) appelés playbooks. Ces livres de jeux comprennent des tâches d'instruction 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 allez apprendre à :

Prérequis

Déployer Oracle Linux

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.

  1. Ouvrez un terminal sur le bureau Luna.

  2. Clonez le projet linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Accédez au répertoire de travail.

    cd linux-virt-labs/olam
    
  4. Installez les collections requises.

    ansible-galaxy collection install -r requirements.yml
    
  5. 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
    
  6. Créez 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
    
  7. Déployez l'environnement d'exercice.

    ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
    

    L'environnement d'atelier gratuit requiert la variable supplémentaire ansible_python_interpreter pour localhost 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 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 un impact sur les lectures en cours d'exécution sur des hôtes autres que localhost.

    La forme de déploiement par défaut utilise l'UC 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 majeure d'Oracle Linux sur la ligne de commande.

    Par exemple : -e os_version="9"

    Important : attendez que le guide de lecture s'exécute correctement et atteignez la tâche de pause. A ce stade du manuel, l'installation d'Oracle Linux est terminée et les instances sont prêtes. Notez la lecture précédente, qui affiche les adresses IP publiques et privées des noeuds qu'elle déploie.

Activation du référentiel DNF Oracle Linux et définition des 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.

  1. Ouvrez un terminal et connectez-vous via SSH au noeud olam-node.

    ssh oracle@<ip_address_of_instance>
    
  2. 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 en tant que référentiel par défaut pour l'installation des packages du produit.

  3. Ajoutez les services HTTP/HTTPS aux règles de pare-feu.

    sudo firewall-cmd --add-service=https --permanent
    sudo firewall-cmd --reload
    

Installation d'une base de données PostgreSQL locale

  1. Activer le flux de module

    sudo dnf module reset postgresql
    sudo dnf -y module enable postgresql:16
    
  2. Installez la base de données.

    sudo dnf -y install postgresql-server
    
  3. Initialisez la base de données.

    sudo postgresql-setup --initdb
    
  4. Basculez le mécanisme de stockage des mots de passe sur scram-sha-256.

    sudo sed -i "s/#password_encryption.*/password_encryption = scram-sha-256/" /var/lib/pgsql/data/postgresql.conf
    
  5. Activez et démarrez la base de données.

    sudo systemctl enable --now postgresql
    
  6. Créez les comptes utilisateur de base de données.

    Important : pour cet environnement d'atelier gratuit, utilisez le mot de passe password à l'invite. Ce mot de passe n'est pas sécurisé et nous l'utilisons uniquement à des fins de démonstration dans cet environnement.

    sudo su - postgres -c "createuser -S -P awx"
    
  7. Créez la base de données.

    sudo su - postgres -c "createdb -O awx awx"
    
  8. 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
    
  9. Mettez à jour l'adresse IP du processus d'écoute de base de données.

    sudo sed -i "/^#port = 5432/i listen_addresses = '"$(hostname -i)"'" /var/lib/pgsql/data/postgresql.conf
    
  10. Mettez à jour les besoins en mémoire de la base de données.

    Ces calculs exploitent 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
    
  11. Relancez la base de données.

    sudo systemctl restart postgresql
    

Installer et configurer Oracle Linux Automation Manager

  1. Installez le package Oracle Linux Automation Manager et toutes les dépendances.

    sudo dnf -y install ol-automation-manager
    
  2. 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
    
  3. Ajoutez le fichier CLUSTER_HOST_ID à un fichier de paramètres personnalisé.

    cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null
    CLUSTER_HOST_ID = '$(hostname -i)'
    EOF
    

    Remarque : l'utilisation de $(hostname -i) ne fonctionne pas pour les systèmes sur 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 espace.

  4. 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
    
  5. 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
    
  1. 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 interface utilisateur :

    AVERTISSEMENT[0000] Le gestionnaire cgroupv2 est défini sur systemd mais aucune session utilisateur systemd n'est disponible AVERTISSEMENT[0000] Pour utiliser systemd, vous devrez peut-être vous connecter à l'aide d'une session utilisateur AVERTISSEMENT[0000] Vous pouvez également activer la persistance avec : loginctl enable-linger 986 (éventuellement en tant que root) AVERTISSEMENT[000] Rétablissement de –cgroup-manager=cgroupfs
    AVERTISSEMENT[0000] Le gestionnaire cgroupv2 est défini sur systemd mais aucune session utilisateur systemd n'est disponible AVERTISSEMENT[0000] Pour utiliser systemd, vous devrez peut-être vous connecter à l'aide d'une session utilisateur AVERTISSEMENT[000] Vous pouvez également activer la persistance avec : loginctl enable-linger 986 (éventuellement en tant que root) AVERTISSEMENT[000] Rétablissement de –cgroup-manager=cgroupfs

  2. 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
    
  3. Créez le schéma Oracle Linux Automation Manager et le compte utilisateur administrateur.

    awx-manage migrate
    awx-manage createsuperuser --username admin --email admin@example.com
    

    Remarque : dans l'exemple précédent, admin@example.com est un exemple d'adresse électronique de l'administrateur.

  4. Saisissez et confirmez le mot de passe de l'administrateur.

  5. Quittez le shell utilisateur awx.

    exit
    
  6. 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 touche ENTER.

  7. 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
    
  8. Mettez à jour le fichier de configuration du récepteur.

    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
    
  9. Provisionner une instance et inscrire les 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
    
  10. Démarrez le service.

    sudo systemctl enable --now ol-automation-manager.service
    
  11. Déconnexion du serveur.

    exit
    

Vérifiez l'installation

  1. Dans la même fenêtre de terminal, configurez un tunnel SSH.

    ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
    

    Remarque : 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.

  2. Ouvrez un navigateur Web et saisissez l'URL.

    https://localhost:8444
    

    Remarque : approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Pour Chrome, cliquez sur le bouton Advanced, puis sur le lien Proceed to localhost (unsafe).

  3. Connectez-vous à Oracle Linux Automation Manager avec le nom utilisateur admin et le mot de passe créés lors de la configuration.

Etapes suivantes

Avec Oracle Linux Automation Manager installé, vous pouvez commencer à explorer l'interface utilisateur Web et les différentes fonctionnalités du produit pour automatiser votre infrastructure. Consultez notre formation supplémentaire sur Oracle Linux Training Station pour approfondir vos connaissances et obtenir des idées.

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.