Hinweis:

Oracle Linux Automation Manager unter Oracle Linux installieren

Einführung

Oracle Linux Automation Manager ist eine Task-Engine und eine webbasierte grafische Benutzeroberfläche (GUI) zur Planung und Ausführung von Oracle Linux Automation Engine-Playbooks für Bestände von Remotehosts. Mit dieser Suite von Tools können Administratoren ihre IT-Infrastruktur einfach verwalten und sich wiederholende Aufgaben auf bekannte und vorhersehbare Weise ausführen, wodurch häufige manuelle Administrationsprobleme vermieden werden.

Die Oracle Linux Automation Engine ist ein Tool zur Verwaltung und Ausführung von Administrationsaufgaben mit codebasierter Infrastruktur als Code-(IaC-)YAML-Definitionsdateien, die als Playbooks bezeichnet werden. Diese Playbooks enthalten Anweisungen wie die Bereitstellung von Software, die Konfiguration von Systemen und die Orchestrierung von Upgrades und Updates.

Ziele

In diesem Tutorial erfahren Sie, wie Sie:

Voraussetzungen

Oracle Linux bereitstellen

Hinweis: Wenn Sie in Ihrem eigenen Mandanten ausgeführt werden, lesen Sie das Projekt linux-virt-labs GitHub README.md, und schließen Sie die Voraussetzungen ab, bevor Sie die Übungsumgebung bereitstellen.

  1. Öffnen Sie ein Terminal auf dem Luna Desktop.

  2. Klonen Sie das Projekt linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Wechseln Sie in das Arbeitsverzeichnis.

    cd linux-virt-labs/olam
    
  4. Installieren Sie die erforderlichen Collections.

    ansible-galaxy collection install -r requirements.yml
    
  5. Aktualisieren Sie die Oracle Linux-Instanzkonfiguration.

    cat << EOF | tee instances.yml > /dev/null
    compute_instances:
      1:
        instance_name: "olam-node"
        type: "control"
    olam_type: none
    EOF
    
  6. Bestandsdatei erstellen

    cat << EOF | tee hosts > /dev/null
    localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6
    EOF
    
  7. Stellen Sie die Übungsumgebung bereit.

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

    Für die kostenlose Übungsumgebung ist die zusätzliche Variable ansible_python_interpreter für localhost erforderlich, da sie das RPM-Package für das Oracle Cloud Infrastructure-SDK für Python installiert. Der Speicherort für die Installation dieses Packages befindet sich basierend auf Ihrer Oracle Linux-Version unter den Python-Standardmodulen des Systems. Wenn Sie eine Bestandsvariable verwenden, wird verhindert, dass sich dies auf andere Hosts als localhost auswirkt.

    Die Standard-Deployment-Ausprägung verwendet die AMD-CPU. Sie können die Ausprägung der Instanzen ändern, indem Sie eine neue Definition der Ausprägungsvariablen in der Befehlszeile übergeben.

    Beispiel: -e instance_shape="VM.Standard3.Flex"

    Ebenso verwendet die Standardversion des Oracle Linux-Images die Variable os_version, die in der Datei "default_vars.yml" definiert ist. Sie können diesen Wert ändern, indem Sie die Oracle Linux-Hauptversion in der Befehlszeile übergeben.

    Beispiel: -e os_version="9"

    Wichtig: Warten Sie, bis das Playbook erfolgreich ausgeführt wird, und erreichen Sie die Unterbrechungsaufgabe. In dieser Phase des Playbooks ist die Installation von Oracle Linux abgeschlossen, und die Instanzen sind bereit. Beachten Sie die vorherige Wiedergabe, bei der die öffentlichen und privaten IP-Adressen der bereitgestellten Knoten ausgegeben werden.

Oracle Linux DNF-Repository aktivieren und Firewallregeln festlegen

Aktivieren Sie die erforderlichen yum-Repositorys und Firewallregeln, bevor Sie Oracle Linux Automation Manager installieren.

  1. Öffnen Sie ein Terminal und verbinden Sie sich über ssh mit dem olam-node-Knoten.

    ssh oracle@<ip_address_of_instance>
    
  2. Installieren Sie das Oracle Linux Automation Manager-Repository.

    Oracle Linux 8:

    sudo dnf -y install oraclelinux-automation-manager-release-el8
    

    Oracle Linux 9:

    sudo dnf -y install oraclelinux-automation-manager-release-el9
    

    Mit diesem Befehl wird das neueste Oracle Linux Automation Manager-Repository als Standard für die Installation der Produktpackages aktiviert.

  3. Fügen Sie den Firewallregeln die HTTP/HTTPS-Services hinzu.

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

Lokale PostgreSQL-Datenbank installieren

  1. Modulstream aktivieren.

    sudo dnf module reset postgresql
    sudo dnf -y module enable postgresql:16
    
  2. Installieren Sie die Datenbank.

    sudo dnf -y install postgresql-server
    
  3. Initialisieren Sie die Datenbank.

    sudo postgresql-setup --initdb
    
  4. Wechseln Sie zum Passwortspeicherungsmechanismus zu scram-sha-256.

    sudo sed -i "s/#password_encryption.*/password_encryption = scram-sha-256/" /var/lib/pgsql/data/postgresql.conf
    
  5. Aktivieren und starten Sie die Datenbank.

    sudo systemctl enable --now postgresql
    
  6. Erstellen Sie die Datenbankbenutzeraccounts.

    Wichtig: Verwenden Sie für diese kostenlose Übungsumgebung das Kennwort password an der Eingabeaufforderung. Dieses Passwort ist nicht sicher, und wir verwenden dieses Passwort nur zu Demonstrationszwecken in dieser Umgebung.

    sudo su - postgres -c "createuser -S -P awx"
    
  7. Erstellen Sie die Datenbank.

    sudo su - postgres -c "createdb -O awx awx"
    
  8. Aktualisieren Sie die hostbasierte Authentifizierungsdatei.

    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. Aktualisieren Sie die IP-Adresse des Datenbank-Listeners.

    sudo sed -i "/^#port = 5432/i listen_addresses = '"$(hostname -i)"'" /var/lib/pgsql/data/postgresql.conf
    
  10. Aktualisieren Sie die Speicheranforderungen der Datenbank.

    Diese Berechnungen nutzen den Gesamtspeicher des Systems in Megabyte und ersetzen die Standardwerte in der Konfigurationsdatei 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. Starten Sie die Datenbank neu.

    sudo systemctl restart postgresql
    

Oracle Linux Automation Manager installieren und konfigurieren

  1. Installieren Sie das Oracle Linux Automation Manager-Package und alle Abhängigkeiten.

    sudo dnf -y install ol-automation-manager
    
  2. Aktualisieren Sie die Redis-Konfigurationsdatei.

    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. Fügen Sie die Datei CLUSTER_HOST_ID zu einer benutzerdefinierten Einstellungsdatei hinzu.

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

    Hinweis: Die Verwendung von $(hostname -i) funktioniert nicht für Systeme mit aktiviertem IPv6, da Leerzeichen in der Ausgabe vorhanden sind. Verwenden Sie stattdessen den Hostnamen des Systems, der mit $(hostname -f) oder einer anderen Zeichenfolge ohne Leerzeichen möglich ist.

  4. Aktualisieren Sie die Berechtigungen für die Datei mit den benutzerdefinierten Einstellungen.

    sudo chown awx.awx /etc/tower/conf.d/olam.py
    sudo chmod 0640 /etc/tower/conf.d/olam.py
    
  5. Fügen Sie einer benutzerdefinierten Konfigurationsdatei Datenbankeinstellungen hinzu.

    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. Aktivieren Sie das Verweilen.

    Oracle Linux 9:

    sudo loginctl enable-linger awx
    

    Die folgende Meldung wird bei der Ausführung auf einem Headless-System ausgegeben:

    WARN[0000] Der Manager cgroupv2 ist auf systemd gesetzt, aber es ist keine systemd user session verfügbar WARN[0000] Zur Verwendung von systemd müssen Sie sich möglicherweise mit einer Benutzersession anmelden WARN[0000] Alternativ können Sie das Verweilen aktivieren mit: loginctl enable-linger 986 (möglicherweise als Root) WARN[0000] Zurückgreifen auf –cgroup-manager=cgroupfs
    WARN[0000] Der Manager cgroupv2 ist auf "systemd" gesetzt, aber es ist keine systemd benutzersession verfügbar WARN[0000] Wenn Sie systemd verwenden möchten, müssen Sie sich möglicherweise mit einer Benutzersession anmelden WARN[0000] Alternativ können Sie das Verweilen aktivieren mit: loginctl enable-linger 986 (möglicherweise als Root) WARN[0000] Zurückgreifen auf –cgroup-manager=cgroupfs

  2. Rufen Sie das Oracle Linux Automation Manager-Containerimage ab.

    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. Erstellen Sie das Oracle Linux Automation Manager-Schema und den Admin-Benutzeraccount.

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

    Hinweis: Im vorherigen Beispiel ist admin@example.com eine Beispiel-E-Mail-Adresse des Admin-Benutzers.

  4. Geben Sie das Kennwort für den Admin-Benutzer ein, und bestätigen Sie es.

  5. Beenden Sie die awx-Benutzershell.

    exit
    
  6. Generieren Sie ein SSL-Zertifikat für NGINX.

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /etc/tower/tower.key -out /etc/tower/tower.crt
    

    Geben Sie die angeforderten Informationen ein, oder drücken Sie einfach die Taste ENTER.

  7. Ersetzen Sie die NGINX-Standardkonfiguration.

    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. Aktualisieren Sie die Receptor-Konfigurationsdatei.

    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. Stellen Sie eine Instanz bereit, und registrieren Sie Ausführungsumgebungen.

    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. Starten Sie den Service.

    sudo systemctl enable --now ol-automation-manager.service
    
  11. Verbindung zum Server trennen.

    exit
    

Prüfen Sie die Installation

  1. Konfigurieren Sie mit demselben Terminalfenster einen SSH-Tunnel.

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

    Hinweis: Im vorherigen Beispiel ist <ip_address_of_instance> der Hostname oder die IP-Adresse des Systems, auf dem Oracle Linux Automation Manager ausgeführt wird. Wenn Sie den Hostnamen verwenden, muss der Host aufgelöst werden können.

  2. Öffnen Sie einen Webbrowser, und geben Sie die URL ein.

    https://localhost:8444
    

    Hinweis: Genehmigen Sie die Sicherheitswarnung basierend auf dem verwendeten Browser. Klicken Sie bei Chrome auf die Schaltfläche Advanced und dann auf den Link Proceed to localhost (unsafe).

  3. Melden Sie sich bei Oracle Linux Automation Manager mit dem USERNAME admin und dem beim Setup erstellten Kennwort an.

Nächste Schritte

Wenn Oracle Linux Automation Manager installiert ist, können Sie die Webbenutzeroberfläche und die verschiedenen Produktfunktionen erkunden, um Ihre Infrastruktur zu automatisieren. Sehen Sie sich unsere zusätzlichen Schulungen zur Oracle Linux-Schulungsstation an, um Ihr Wissen zu erweitern und Ideen zu erhalten.

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.