Hinweis:

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:

Voraussetzungen

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.

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

Deployment von Oracle Linux Automation Manager prüfen

  1. Öffnen Sie ein neues Terminal.

  2. 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-System
    • sleep 300: hält den Remote-Tunnel 5 Minuten geöffnet und wartet auf eine eingerichtete Verbindung, bevor er automatisch geschlossen wird
  3. Ö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).

  4. Melden Sie sich bei Oracle Linux Automation Manager mit dem Benutzernamen admin und dem Kennwort admin an, das beim Deployment erstellt wurde.

    olam2-Anmeldung

  5. Nach der Anmeldung wird die Web-UI angezeigt.

    olam2-webui

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:

Weitere Details sind im Upstream-Projekt verfügbar.

  1. Kehren Sie zum Terminal zurück, in dem Sie den SSH-Tunnel erstellt haben.

  2. 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 Manager
    • verify_ssl:: Deaktiviert die strikte SSL-Prüfung, da die Tutorialumgebung ein selbstsigniertes Zertifikat verwendet
    • use_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.

  1. 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
    
  2. Führen Sie das Spielbuch aus.

    ansible-playbook configure-olam.yaml
    
  3. 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.

  1. Kehren Sie zum Terminal zurück, in dem Sie das Playbook erstellt haben.

  2. 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
    
  3. 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.

  4. 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.

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.