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 mit der AWX-Collection verwalten
Einführung
Mit der AWX-Ansible-Sammlung können Administratoren über Playbooks mit Oracle Linux Automation Manager interagieren. Die Module umfassen die Möglichkeit, Aufgaben wie die Benutzer- und Gruppenadministration, das Erstellen von Projekten und das Ausführen von Jobs auszuführen.
Ziele
In diesem Tutorial erfahren Sie, wie Sie:
- DevOps- und Oracle Linux Automation Manager-Instanzen bereitstellen
- Konfigurationsdatei in der Instanz DevOps einrichten
- Erstellen Sie ein Playbook, um die erforderlichen Elemente zum Ausführen eines Jobs zu erstellen
- Teste und verifiziere das Spielbuch
Voraussetzungen
- Ein Steuerknoten für die Ausführung von Oracle Linux Automation Engine-Playbooks
- Eine Instanz von Oracle Linux Automation Manager
Oracle Linux Automation Manager 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: single 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.
Deployment von Oracle Linux Automation Manager prüfen
-
Öffnen Sie ein neues Terminal.
-
Konfigurieren Sie einen SSH-Tunnel zur Oracle Linux Automation Manager-Instanz.
ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<public_ip_address_of_olam-node> sleep 300
-o ExitOnForwardFailure=yes
: wartet, bis alle Remoteportweiterleitungen erfolgreich eingerichtet wurden-f
: Führt den SSH-Tunnel im Hintergrund aus-L
: Erstellt den Tunnel auf Port 8444 auf dem lokalen System und 443 auf dem Remote-Systemsleep 300
: hält den Remote-Tunnel 5 Minuten geöffnet und wartet auf eine eingerichtete Verbindung, bevor er automatisch geschlossen wird
-
Ö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 Benutzernamen
admin
und dem Kennwortadmin
an, das beim Deployment erstellt wurde. -
Nach der Anmeldung wird die Web-UI angezeigt.
Controller-Konfigurationsdatei erstellen
Die AWX-Ansible-Collection verwendet eine Konfigurationsdatei und in einigen Fällen die AWX-CLI zur Authentifizierung bei Oracle Linux Automation Manager. Die Authentifizierungsparameter können über die CLI direkt an die Befehlszeile übergeben oder in eine Konfigurationsdatei geschrieben werden.
Bei der Angabe der Authentifizierungsparameter erwartet die AWX-Ansible-Sammlung eine Kombination aus:
- Host, Benutzername, Passwort
- Host, Token OAuth2
Weitere Details sind im Upstream-Projekt verfügbar.
-
Kehren Sie zum Terminal zurück, in dem Sie den SSH-Tunnel erstellt haben.
-
Generieren Sie die Konfigurationsdatei.
cat << EOF | tee ~/.tower_cli.cfg > /dev/null [general] host: https://localhost:8444 verify_ssl: false username: admin password: admin use_token = false EOF
host:
: Definiert die URL für den Zugriff auf die Web-UI von Oracle Linux Automation Managerverify_ssl:
: Deaktiviert die strikte SSL-Prüfung, da die Tutorialumgebung ein selbstsigniertes Zertifikat verwendetuse_token:
: Obwohl die Verwendung eines OAuth2-Tokens bevorzugt wird, wird die Einstellung auf "false" mit einer Option zur Authentifizierung deaktiviert
Organisationen erstellen
In unserem Tutorial Erste Schritte wird erläutert, dass eine Organisation an der Spitze der rollenbasierten Pyramide steht und eine logische Sammlung von Benutzern, Teams, Projekten und Beständen ist.
Anstatt dies über die Web-UI zu erstellen, können wir ein Playbook schreiben.
-
Schreibe das Spielbuch.
cat << EOF | tee configure-olam.yaml > /dev/null --- - name: Playbook to set up training demo data using the AWX collection hosts: localhost gather_facts: false collections: - awx.awx tasks: - name: Create an organization awx.awx.organization: name: "Example" description: "Created using a playbook" state: present EOF
-
Führen Sie das Spielbuch aus.
ansible-playbook configure-olam.yaml
-
Prüfen Sie die Änderungen in der Web-UI.
Melden Sie sich über den Browser bei der Web-UI an.
Hinweis: Wenn ein Anmeldefehler auftritt, ist der SSH-Tunnel möglicherweise abgelaufen. In diesem Fall müssen Sie den SSH-Befehl erneut ausführen, um die Verbindung wiederherzustellen.
Klicken Sie im Navigationsmenü auf Organisationen. Beachten Sie den Eintrag Beispiel, den die Arbeitsmappe erstellt hat.
Job ausführen
Nachdem die Organisation erstellt wurde, lassen Sie uns jetzt die restlichen Schritte im Tutorial Erste Schritte mit einigen Änderungen automatisieren. Einer der Vorteile von Oracle Linux Automation Engine ist die Selbstdokumentation.
-
Kehren Sie zum Terminal zurück, in dem Sie das Playbook erstellt haben.
-
Hängen Sie die zusätzliche Konfiguration an das vorhandene Playbook an.
cat << EOF | tee -a configure-olam.yaml > /dev/null - name: Add a user awx.awx.user: username: jdoe password: oracle email: jdoe@example.com first_name: John last_name: Doe organization: Example state: present - name: Add an inventory awx.awx.inventory: name: "Demo Inventory" description: "Demo OCI Instances" organization: Example state: present - name: Add a host awx.awx.host: name: localhost description: "Use to run tasks locally" inventory: "Demo Inventory" state: present variables: ansible_connection: local - name: Add a credential awx.awx.credential: name: "Linux Instance" credential_type: Machine organization: Example inputs: username: opc ssh_key_data: "" - name: Add a project awx.awx.project: name: "Hello World" description: "Sample Hello World Project" organization: Example default_environment: "OLAM EE (2.3)" scm_type: "git" scm_update_on_launch: false scm_url: https://github.com/oracle-devrel/linux-virt-labs.git state: present - name: Add a template awx.awx.job_template: name: "Say Hello" job_type: "run" organization: Example inventory: "Demo Inventory" project: "Hello World" playbook: "labs/olam-hello-world.yaml" state: present - name: Launch a job awx.awx.job_launch: job_template: "Say Hello" wait: true register: job - name: Print results from job ansible.builtin.debug: var: job EOF
-
Führen Sie das Spielbuch erneut aus.
ansible-playbook configure-olam.yaml
Das Playbook endet mit der letzten Wiedergabe, in der der Status des Jobs als
successful
angezeigt wird, sowie mit einer Warnung, die Sie ignorieren können. -
Prüfen Sie den Job in der Web-UI.
Navigieren Sie im Browser zu Jobs, und klicken Sie auf den Job Sagen Sie Hallo. Die Ausgabe zeigt die Ergebnisse der während des Jobs ausgeführten Arbeitsmappe an. Beachten Sie die Willkommensmeldungen aus der Debug-Aufgabe.
Nächste Schritte
Die Ausgabe in der Web-UI bestätigt, dass Sie über einen funktionierenden Oracle Linux Automation Manager verfügen und ein Playbook zur Verwaltung einiger der häufigeren Aufgaben geschrieben haben.
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.
Manage Oracle Linux Automation Manager Using the AWX Collection
G32871-02
Copyright ©2024, Oracle and/or its affiliates.