Hinweis:

OCI-Ansible-Sammlung mit Oracle Linux Automation Manager verwenden

Einführung

Die Oracle Cloud Infrastructure (OCI) Ansible Collection bietet eine einfache Möglichkeit, Ressourcen in der Oracle Cloud mit Oracle Linux Automation Engine oder Oracle Linux Automation Manager bereitzustellen und zu verwalten.

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"
      2:
        instance_name: "git-server"
        type: "server"
    use_git: true
    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.

Playbook erstellen

  1. Öffnen Sie ein neues Terminalfenster.

  2. Legen Sie eine Variable für die Remote-Git-Server-Instanz fest.

    export REMOTE=<ip_address_of_instance>
    
  3. Erstellen Sie ein Projektverzeichnis.

    mkdir ~/myproject
    
  4. Erstellen Sie eine Anforderungsdatei.

    Oracle Linux Automation Engine verwendet die Anforderungsdatei, um alle erforderlichen Collections oder Rollen zur Laufzeit in das Projekt abzurufen.

    cat << EOF > ~/myproject/requirements.yml 
    ---
    collections:
      - name: oracle.oci
      - name: community.general
    EOF
    

    Hinweis: Bei Versionen der Oracle Linux Automation Engine < 2.13.9 können Sie die Anforderungsdatei so konfigurieren, dass die Collection direkt aus dem Collections-Repository GitHub abgerufen wird.

    cat << EOF > ~/myproject/requirements.yml 
    ---
    collections:
      - name: https://github.com/oracle/oci-ansible-collection.git
        type: git
        version: master
      - name: https://github.com/ansible-collections/community.general.git
        type: git
        version: main
    EOF
    
  5. Erstellen Sie ein Playbook.

    Dieses Playbook fragt den Objektspeicher-Namespace für den Oracle Cloud Infrastructure-Mandanten ab. Die Mandantendetails werden später in der Oracle Linux Automation Manager-Web-UI konfiguriert.

    cat << EOF > ~/myproject/get_namespace.yml
    ---
    - name: Get namespace name
      hosts: localhost
    
      tasks:
    
      - name: get namespace
        oracle.oci.oci_object_storage_namespace_facts:
        register: output
    
      - name: print namespace
        ansible.builtin.debug:
          msg: ""
    EOF
    

Projekt zu Versionskontrolle hinzufügen

  1. Initialisieren Sie das Arbeitsverzeichnis des Projekts in einem Git-Repository.

    Vor der Initialisierung des Repositorys müssen Sie einige erste Konfigurationsschritte für Git ausführen.

    1. Legen Sie den Standardverzweigungsnamen fest, der bei der Initialisierung eines Projekts verwendet wird.

      git config --global init.defaultBranch main
      
    2. Legen Sie Ihre Identität fest.

      Die E-Mail und der Name sind Beispiele in diesem Tutorial. Verwenden Sie Ihre E-Mail-Adresse und Ihren Namen, wenn Sie an Ihren Projekten arbeiten, da git diese Informationen in jedem Commit unveränderlich enthält.

      git config --global user.email johndoe@example.com
      git config --global user.name "John Doe"
      
    3. Wechseln Sie in das Arbeitsverzeichnis des Projekts.

      cd ~/myproject
      
    4. Initialisieren Sie das Verzeichnis als lokales Git-Repository.

      git init
      

      Der Befehl gibt zurück, dass er das leere Git-Repository initialisiert hat.

  2. Prüfen Sie den Status des Arbeitsverzeichnisses und der Projekt-Staging Area.

    git status
    

    Der Status des lokalen Repositorys gibt zwei nicht verfolgte Dateien an: get_namespace.yml und requirements.yml

  3. Fügen Sie die neuen Dateien in der Staging Area hinzu, und verfolgen Sie sie.

    git add --all
    

    Mit der Option --all werden alle nicht verfolgten und geänderten Dateien zur Staging Area hinzugefügt.

  4. Schreiben Sie die Änderungen fest, die sich derzeit in der Staging Area befinden.

    git commit -m 'initial commit'
    

    Mit der Option -m können Sie den festgeschriebenen Änderungen einen Kommentar hinzufügen.

  5. Erstellen und initialisieren Sie das Remote-Git-Repository.

    Ein Remote-Repository ist ein gemeinsam verwendetes Repository, das von allen Projektbeitragenden verwendet und in einem Codehosting-Service gespeichert wird, wie GitHub oder einem selbst gehosteten Server.

    ssh git@$REMOTE "git init -b main --bare /git-server/repos/myproject.git"
    

    Die Option -b stellt die Initialisierung des Remote Repositorys mit einer Verzweigung namens main sicher.

  6. Akzeptieren Sie den ECDSA-Schlüsselfingerprint, indem Sie yes eingeben.

  7. Fügen Sie den neuen Remote Repository-Verbindungsdatensatz hinzu.

    Wenn Sie die Remoteverbindung zum lokalen Repository hinzufügen, können Sie sie als benannte Verknüpfung in Git-Befehlen verwenden.

    git remote add origin git@$REMOTE:/git-server/repos/myproject.git
    

    Der Pfad nach dem Doppelpunkt ist das Verzeichnis des Repositorys auf dem Remote-Git-Server.

  8. Prüfen Sie den neu hinzugefügten Verbindungsdatensatz.

    git remote -v
    

    Die Ausgabe zeigt den Verbindungsdatensatz origin an, der auf den Remote-Git-Repository-Speicherort für die Befehle git fetch und git push verweist.

  9. Übertragen Sie die lokalen Repository-Änderungen an das Remote Repository.

    git push origin main
    

    Die Verwendung der Quelle myproject in einem Oracle Linux Automation Manager-Projekt ist jetzt möglich.

Ansible Galaxy-Zugangsdaten erstellen

Mit diesen Zugangsdaten kann Oracle Linux Automation Manager die OCI-Ansible-Sammlung aus dem öffentlichen Ansible Galaxy Hub abrufen.

  1. Öffnen Sie ein neues Terminalfenster, und konfigurieren Sie einen SSH-Tunnel zur olam-node-Instanz.

    ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
    
  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 für den Chrome-Browser auf die Schaltfläche Erweitert und dann auf den Link Weiter zu localhost (unsicher).

  3. Melden Sie sich bei der Oracle Linux Automation Manager-Webbenutzeroberfläche an. Verwenden Sie den Benutzernamen admin und das Kennwort admin, das während des automatisierten Deployments erstellt wurde.

    olam2-Anmeldung

  4. Die Web-UI wird nach erfolgreicher Anmeldung angezeigt.

    olam2-webui

  5. Klicken Sie im Navigationsmenü im Abschnitt Ressourcen auf Zugangsdaten.

  6. Klicken Sie auf die Schaltfläche Hinzufügen.

  7. Geben Sie die folgenden Werte in die entsprechenden Felder ein, oder wählen Sie sie aus.

    Bei Feldern mit einer Suche oder einer Werteliste können Sie den angeforderten Wert eingeben und dann aus der Liste auswählen.

    • Name: My Ansible Galaxy
    • Organisation: Default
    • Zugangsdatentyp: Ansible Galaxy/Automation Hub-API-Token

    Oracle Linux Automation Manager verwendet Ansible Galaxy-Zugangsdaten, um das Herunterladen von Rollen und Sammlungen mit dem Befehl ansible-galaxy zu erleichtern.

    • Galaxyserver-URL: https://galaxy.ansible.com

    olam2-ansible-galaxie-creds

  8. Prüfen Sie die Einträge, und klicken Sie auf die Schaltfläche Speichern.

  9. Klicken Sie im Navigationsmenü im Abschnitt Zugriff auf Organisationen.

    Wenn Sie die Ansible Galaxy-Zugangsdaten innerhalb der Organisation zuweisen, können Sie die Oracle Linux Infrastructure-Ansible-Sammlung aus dem Git-Projekt herunterladen.

  10. Klicken Sie auf die Organisation Standard und dann auf die Schaltfläche Bearbeiten.

  11. Wählen Sie die Zugangsdaten Mein Ansible Galaxy im Feld Galaxiezugangsdaten aus, und klicken Sie auf die Schaltfläche Auswählen.

  12. Prüfen Sie, und klicken Sie auf Speichern.

    olam2-ansible-galaxy-org

OCI-Zugangsdaten erstellen

Die OCI-Zugangsdaten enthalten Oracle Linux Automation Manager-Informationen zum spezifischen OCI-Mandanten.

  1. Klicken Sie im Navigationsmenü auf Zugangsdaten.

  2. Klicken Sie auf die Schaltfläche Hinzufügen.

  3. Geben Sie die folgenden Werte in die entsprechenden Felder ein, oder wählen Sie sie aus.

    • Name: My OCI Credentials
    • Organisation: Default
    • Zugangstyp: Oracle Cloud Infrastructure

    olam2-oci-cred1

    Die Seite wird aktualisiert und fordert Ihre OCI-Konfigurationsinformationen an.

  4. Öffnen Sie ein neues Terminalfenster.

  5. Zeigen Sie den Inhalt der OCI-Konfigurationsdatei an.

    cat ~/.oci/config
    
  6. Verwenden Sie die im Terminal angezeigten Werte, und ordnen Sie sie den spezifischen Feldern der OCI-Zugangsdaten in der Oracle Linux Automation Manager-Web-UI zu.

    Verwenden Sie das Symbol olam2-webui-show neben jedem Feld, um den Wert des Einfügens anzuzeigen.

    olam2-oci-cred2

  7. Rufen Sie den Inhalt des API-Private Keys Ihres OCI-Benutzers ab.

    In der kostenlosen Übungsumgebung können Sie cat ~/.oci/oci.key ausführen, um diese Informationen abzurufen, und dann die gesamte Ausgabe kopieren, einschließlich der Zeilen BEGIN und END.

  8. Fügen Sie den Schlüssel in das Feld Private User Key in der Oracle Linux Automation Manager-Web-UI ein.

    olam2-oci-cred3

  9. Prüfen Sie, und klicken Sie auf Speichern.

    olam2-oci-cred4

    Wenn Sie diese Werte später bearbeiten müssen, werden sie verschlüsselt in der Web-UI angezeigt. Um Änderungen vorzunehmen, klicken Sie daher auf das Symbol Ersetzen neben dem jeweiligen Feld, und fügen Sie den neuen Wert für das Feld hinzu. Wiederholen Sie den Vorgang nach Bedarf, und klicken Sie auf die Schaltfläche Speichern, wenn Sie die Änderungen abgeschlossen haben.

Bestand erstellen

  1. Klicken Sie im Navigationsmenü auf Bestände.

  2. Klicken Sie auf die Schaltfläche Hinzufügen, und wählen Sie Bestand hinzufügen aus der Dropdown-Werteliste.

  3. Geben Sie die folgenden Werte in die entsprechenden Felder ein, oder wählen Sie sie aus.

    • Name: My Local Inventory
    • Instanzgruppen: Controlplane

    Die Oracle Cloud Infrastructure-Ansible-Sammlung verwendet eine localhost-Netzwerkverbindung, wenn die Oracle Linux Automation Engine für die Interaktion mit dem OCI-Mandanten verwendet wird.

  4. Prüfen Sie, und klicken Sie auf Speichern.

    olam2-inv

Source Control-Zugangsdaten hinzufügen

  1. Klicken Sie im Navigationsmenü auf Zugangsdaten.

  2. Klicken Sie auf die Schaltfläche Hinzufügen.

  3. Geben Sie die folgenden Werte in die entsprechenden Felder ein, oder wählen Sie sie aus.

    • Name: Git Server
    • Zugangsdatentyp: Quellkontrolle

    olam2-git-cred1

    Die Seite wird aktualisiert und fordert die Typdetails an.

  4. Geben Sie den Benutzernamen des Git-Servers ein.

    • Benutzername: git
  5. Kopieren Sie den Inhalt des Private Keys des Git-Servers, und fügen Sie ihn in das Feld SCM-Private Key ein.

    Die freie Übungsumgebung verwendet die Standarddatei ~/.ssh/id_rsa.

    olam2-git-cred2

  6. Prüfen Sie, und klicken Sie auf Speichern.

    olam2-git-cred3

Projekt erstellen

  1. Klicken Sie im Navigationsmenü auf Projekte.

  2. Klicken Sie auf die Schaltfläche Hinzufügen.

  3. Geben Sie die folgenden Werte in die entsprechenden Felder ein, oder wählen Sie sie aus.

    • Name: My Project
    • Ausführungsumgebung: OLAM EE (2.3)
    • Zugangsdatenart für Quellkontrolle: Git

    olam2-proj1

    Die Seite wird aktualisiert und fordert die Typdetails an.

    • Quellkontroll-URL: git@<ip_address_of_instance>:/git-server/repos/myproject.git
    • Quellkontrollverzweigung: main
    • Zugangsdaten der Quellkontrolle: Git-Server

    Die kostenlose Übungsumgebung verwendet die IP-Adresse des Git-Servers im Feld Quellkontroll-URL.

  4. Prüfen Sie, und klicken Sie auf Speichern.

    olam2-proj2

  5. Prüfen Sie den Synchronisierungsstatus des Projekts.

    Nachdem Sie ein Projekt erstellt haben, zeigt die Web-UI seinen Status in der Übersicht Details an, sobald die Synchronisierung beginnt. Der Status wechselt von Wird ausgeführt zu Erfolgreich, wenn die Konfiguration korrekt ist und der Git-Server erreichbar ist.

    olam2-proj-sync

Jobvorlage erstellen

  1. Klicken Sie im Navigationsmenü auf Vorlagen.

  2. Klicken Sie auf die Schaltfläche Hinzufügen, und wählen Sie Jobvorlage hinzufügen aus der Dropdown-Werteliste aus.

  3. Geben Sie die erforderlichen Werte ein, oder wählen Sie sie aus.

    • Name: My Template
    • Jobtyp: Ausführen
    • Lager: Mein lokaler Bestand
    • Projekt: Mein Projekt
    • Ausführungsumgebung: OLAM EE (2.3)
    • Playbook: get_namespace.yml
  4. Wählen Sie die Zugangsdaten.

    Wenn Sie Zugangsdaten auswählen, wird das Popup-Dialogfeld Zugangsdaten auswählen angezeigt. Wählen Sie Oracle Cloud Infrastructure aus der Dropdown-Liste Ausgewählte Kategorie aus, um Zugangsdaten dieses Typs anzuzeigen.

  5. Wählen Sie Meine OCI-Zugangsdaten aus, und klicken Sie auf die Schaltfläche Auswählen.

  6. Prüfen Sie die Einträge für die Tätigkeitsvorlage.

    olam2-temp1

  7. Scrollen Sie auf der Seite nach unten, und klicken Sie auf die Schaltfläche Speichern.

    olam2-temp2

  8. Starten Sie die Vorlage.

    Starten Sie einen Job auf der Vorlagenübersichtsseite, indem Sie auf die Schaltfläche Starten klicken.

    olam2-Temp-Start

    Wenn der Job erfolgreich ausgeführt wurde, wird die Ausgabe der Vorlage einschließlich des Namespace des OCI-Mandanten gestartet und angezeigt. Sie können auf den Link Ausgabe neu laden klicken, um den Ausgabebereich gegebenenfalls zu aktualisieren.

    olam2-temp-Ausgabe

Nächste Schritte

Die Ausgabe mit dem Namespace bestätigt, dass Sie über eine funktionierende Konfiguration und ein Projekt verfügen, das die Verwendung von Playbooks mit der Oracle Cloud Infrastructure Ansible-Collection demonstriert. Experimentieren Sie weiter mit der Sammlung, um Instanzen und andere Ressourcen für Ihren Mandanten bereitzustellen.

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.