Hinweis:
- Dieses Tutorial ist in einer von Oracle bereitgestellten kostenlosen Übungsumgebung verfügbar.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
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:
- Oracle Linux-DNF-Repository aktivieren
- Firewallregeln festlegen
- Oracle Linux Automation Manager mit einem Host herunterladen, installieren und konfigurieren
Voraussetzungen
- Ein System mit installiertem Oracle Linux.
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.
-
Öffnen Sie ein Terminal auf dem Luna Desktop.
-
Klonen Sie das Projekt
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Wechseln Sie in das Arbeitsverzeichnis.
cd linux-virt-labs/olam
-
Installieren Sie die erforderlichen Collections.
ansible-galaxy collection install -r requirements.yml
-
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
-
Bestandsdatei erstellen
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
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.
-
Öffnen Sie ein Terminal und verbinden Sie sich über ssh mit dem olam-node-Knoten.
ssh oracle@<ip_address_of_instance>
-
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.
-
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
-
Modulstream aktivieren.
sudo dnf module reset postgresql sudo dnf -y module enable postgresql:16
-
Installieren Sie die Datenbank.
sudo dnf -y install postgresql-server
-
Initialisieren Sie die Datenbank.
sudo postgresql-setup --initdb
-
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
-
Aktivieren und starten Sie die Datenbank.
sudo systemctl enable --now postgresql
-
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"
-
Erstellen Sie die Datenbank.
sudo su - postgres -c "createdb -O awx awx"
-
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
-
Aktualisieren Sie die IP-Adresse des Datenbank-Listeners.
sudo sed -i "/^#port = 5432/i listen_addresses = '"$(hostname -i)"'" /var/lib/pgsql/data/postgresql.conf
-
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
-
Starten Sie die Datenbank neu.
sudo systemctl restart postgresql
Oracle Linux Automation Manager installieren und konfigurieren
-
Installieren Sie das Oracle Linux Automation Manager-Package und alle Abhängigkeiten.
sudo dnf -y install ol-automation-manager
-
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
-
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. -
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
-
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
-
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 -
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
-
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. -
Geben Sie das Kennwort für den Admin-Benutzer ein, und bestätigen Sie es.
-
Beenden Sie die awx-Benutzershell.
exit
-
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
. -
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
-
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
-
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
-
Starten Sie den Service.
sudo systemctl enable --now ol-automation-manager.service
-
Verbindung zum Server trennen.
exit
Prüfen Sie die Installation
-
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. -
Ö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 LinkProceed to localhost (unsafe)
. -
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.
Verwandte Links
- Oracle Linux Automation Manager-Dokumentation
- Oracle Linux Automation Manager-Schulung
- Oracle Linux-Schulungsstation
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.
Install Oracle Linux Automation Manager on Oracle Linux
F52971-05
Copyright ©2021, Oracle and/or its affiliates.