Hinweis:

Hop-Knoten in Oracle Linux Automation Manager verwenden

Einführung

Oracle Linux Automation Manager unterstützt eine Service-Mesh-Technologie, die auf dem Upstream-Projekt des Rezeptors basiert. Der Service Mesh verknüpft Controller-, Hop- und Ausführungsknoten über eine Daemon-basierte Rezeptoranwendung mit einem Overlay-Netzwerk.

Oracle Linux Automation Manager führt den Hop-Knoten als Teil des Service-Mesh ein. Mit diesem Knotentyp können Aufgaben von Control-Plane-Knoten an Ausführungsknoten in Remote- oder eingeschränkten Netzwerken auf die gleiche Weise weitergeleitet werden, wie SSH einen Jump-Host verwendet. Mit dieser Implementierung können Jobs über verschiedene Ausführungsknoten ausgeführt werden und Aufgaben näher an die Systeme heranführen, die automatisiert werden müssen.

Der Beispielbestand unten definiert ein Cluster-Deployment mit mehreren Knoten in der Freien Übungsumgebung. Um die Clusterinstallation auf Ihrer Hardware zu automatisieren, lesen Sie das Playbook im Abschnitt Oracle Linux Automation Manager des Projekts ansible-playbooks.

Dieser Beispielbestand erstellt ein Cluster, das aus zwei Control-Plane-Knoten, zwei Ausführungsknoten, einem Hop-Knoten mit einem einzelnen Remoteausführungsknoten und einer Remote-Datenbank besteht.

playbook-inv

Diese Abbildung zeigt die Service-Mesh-Topologie für dieses Cluster.

local-remote-exec-config

Dieses Tutorial zeigt verschiedene Methoden, um den Status eines Service-Meshs zu prüfen und die Topologiekommunikation zwischen den verschiedenen Knoten zu bestätigen.

Ziele

In diesem Tutorial erfahren Sie, wie Sie:

Voraussetzungen

Einzelheiten zum Installieren von Oracle Linux Automation Manager finden Sie im Oracle Linux Automation Manager - Installationshandbuch.

Oracle Linux Automation Manager-Instanzen 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 Sammlungen.

    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-control-01"
        type: "control"
      2:
        instance_name: "olam-control-02"
        type: "control"
      3:
        instance_name: "olam-execution-01"
        type: "execution"
      4:
        instance_name: "olam-execution-02"
        type: "execution"       
      5:
        instance_name: "olam-remote-execution-01"
        type: "execution"
      6:
        instance_name: "olam-hop-01"
        type: "execution"
      7:
        instance_name: "olam-db"
        type: "db"
    passwordless_ssh: true
    olam_type: none
    add_cluster_ports: true
    EOF
    
  6. Stellen Sie die Übungsumgebung bereit.

    ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
    

    Für die kostenlose Übungsumgebung ist die zusätzliche Variable ansible_python_interpreter erforderlich, weil das RPM-Package für das Oracle Cloud Infrastructure-SDK für Python installiert wird. Der Speicherort für die Installation dieses Pakets befindet sich unter den python3.6-Modulen.

    Die Standard-Deployment-Ausprägung verwendet die AMD-CPU und Oracle Linux 8. Um eine Intel-CPU oder Oracle Linux 9 zu verwenden, fügen Sie dem Deployment-Befehl -e instance_shape="VM.Standard3.Flex" oder -e os_version="9" hinzu.

    Wichtig: Warten Sie, bis die Arbeitsmappe erfolgreich ausgeführt wurde, und erreichen Sie die Aufgabe "Unterbrechen". Die Installation von Oracle Linux Automation Manager ist in dieser Phase des Spiels abgeschlossen, und die Instanzen sind bereit. Beachten Sie die vorherige Wiedergabe, in der die öffentlichen und privaten IP-Adressen der bereitgestellten Knoten gedruckt werden.

Oracle Linux Automation Manager-Cluster bereitstellen

  1. Öffnen Sie ein neues Terminal.

  2. Stellen Sie sicher, dass Sie sich im Verzeichnis olam des Projekts linux-virt-labs befinden.

  3. Konvertieren Sie die grundlegende Bestandsdatei.

    Dieses Konvertierungsskript erstellt eine clusterfähige Bestandsdatei aus dem Basisbestand, der von der Instanzbereitstellungs-Playbook generiert wird.

    chmod +x convert_ansible_inventory.sh
    ./convert_ansible_inventory.sh hosts > hosts.cluster
    
  4. Führen Sie das Cluster-Deployment-Playbook aus.

    ansible-playbook -i hosts.cluster deploy_olam_cluster.yml -e ansible_python_interpreter="/usr/bin/python3.6"
    

Melden Sie sich bei der WebUI an.

  1. Öffnen Sie ein Terminal, und konfigurieren Sie einen SSH-Tunnel zur olam-control-01-Instanz des Oracle Linux Automation Manager-Clusters.

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

  3. Melden Sie sich bei Oracle Linux Automation Manager mit dem USERNAME admin und dem PASSWORD admin an, die während des automatisierten Deployments erstellt wurden.

    olam2-Anmeldung

  4. Nach der Anmeldung wird WebUI angezeigt.

    olam2-webui

Instanzgruppen in WebUI bestätigen

Mit einer Instanzgruppe können Instanzen in einem Cluster basierend auf Policys gruppiert werden. Diese Policys bestimmen das Verhalten und die Ausführung der Instanzgruppen für welche Jobs.

  1. Klicken Sie im Navigationsmenü unter Administration auf Instanzgruppen.

    olam2-instance-grp-menu

  2. Prüfen Sie die Seite Instanzgruppen.

    olam2-instnace-grp-page

    Auf der Seite wird die Kapazität basierend auf Policy-Einstellungen angezeigt. Weitere Informationen zu diesen Policy-Einstellungen finden Sie in der Dokumentation zum Oracle Linux Automation Manager-Benutzerhandbuch im Kapitel Instanzgruppen verwalten unter Ressourcen einrichten.

Clustertopologie visualisieren

  1. Klicken Sie im Navigationsmenü im Abschnitt Administration auf Topologieansicht.

    olam2-Top-Ansicht-Menü

  2. Prüfen Sie die Seite Topologieansicht.

    olam2-Top-Ansicht

    Auf der Seite wird ein grafisches Layout der Topologie des Clusters angezeigt, das jeden seiner Knoten enthält. Beim Überrollen der Knoten werden Pfeile von einem Knoten zum anderen angezeigt, die ihre Peer-Verknüpfung angeben.

Instanzen auflisten

Mit dem Utility awx-manage kann ein Administrator Instanzen konfigurieren und auflisten, die mit den Instanzgruppen (Queues) verknüpft sind. Ein Administrator führt diese Aktion von einem der Control-Plane-Knoten im Cluster aus.

  1. Wechseln Sie zum Terminalfenster, das mit der olam-control-01-Instanz verbunden ist.

  2. Melden Sie sich beim Oracle Linux Automation Manager-Benutzeraccount an.

    sudo su -l awx -s /bin/bash
    
  3. Listen Sie die Instanzen auf.

    awx-manage list_instances
    

    Beispielausgabe:

    [awx@olam-control-01 ~]$ awx-manage list_instances
    [controlplane capacity=594]
    	10.0.0.50 capacity=297 node_type=control version=23.7.0 heartbeat="2025-04-26 17:23:59"
    	10.0.0.52 capacity=297 node_type=control version=23.7.0 heartbeat="2025-04-26 17:23:59"
    
    [execution capacity=891]
    	10.0.0.57 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:38"
    	10.0.0.59 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:59"
    	10.0.0.61 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:59"
    
    [ungrouped capacity=0]
    	10.0.0.53 node_type=hop heartbeat="2025-04-26 17:23:32"
    

    Die Ausgabe zeigt die Queues controlplane und execution sowie die einzelnen verknüpften Knoten an. Hop-Knoten werden in der Queue ungrouped angezeigt, da sie keiner aktiven Queue mit Kapazität zugeordnet sind.

  4. Trennen Sie die Verbindung zum Oracle Linux Automation Manager-Benutzer.

    exit
    

    Mit dieser Aktion müssen Sie zum Benutzeraccount oracle in der Instanz olam-control-01 zurückkehren.

Service-Mesh-Status anzeigen

Wenn das Service-Mesh ausgeführt wird, ist es möglich, den Status des Service-Mesh und der zugehörigen Knoten abzurufen.

  1. Rufen Sie den Status des Service-Mesh ab.

    sudo receptorctl  --socket /var/run/receptor/receptor.sock status
    

    Beispielausgabe:

    [oracle@olam-control-01 ~]$ sudo receptorctl  --socket /var/run/receptor/receptor.sock status
    Node ID: 10.0.0.50
    Version: 1.4.2
    System CPU Count: 4
    System Memory MiB: 31804
    
    Connection   Cost
    10.0.0.59    1
    10.0.0.61    1
    10.0.0.53    1
    
    Known Node   Known Connections
    10.0.0.50    10.0.0.53: 1 10.0.0.59: 1 10.0.0.61: 1 
    10.0.0.52    10.0.0.53: 1 10.0.0.59: 1 10.0.0.61: 1 
    10.0.0.53    10.0.0.50: 1 10.0.0.52: 1 10.0.0.57: 1 
    10.0.0.57    10.0.0.53: 1 
    10.0.0.59    10.0.0.50: 1 10.0.0.52: 1 
    10.0.0.61    10.0.0.50: 1 10.0.0.52: 1 
    
    Route        Via
    10.0.0.52    10.0.0.53
    10.0.0.53    10.0.0.53
    10.0.0.57    10.0.0.53
    10.0.0.59    10.0.0.59
    10.0.0.61    10.0.0.61
    
    Node         Service   Type       Last Seen             Tags
    10.0.0.50    control   Stream     2025-04-26 17:29:26   {'type': 'Control Service'}
    10.0.0.52    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.61    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.59    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.53    control   Stream     2025-04-26 17:28:32   {'type': 'Control Service'}
    10.0.0.57    control   Stream     2025-04-26 17:28:33   {'type': 'Control Service'}
    
    Node         Work Types
    10.0.0.50    local
    10.0.0.52    local
    10.0.0.61    ansible-runner
    10.0.0.59    ansible-runner
    10.0.0.53    local
    10.0.0.57    ansible-runner
    

    Der Befehl receptorctl ist die Frontend-CLI, die über die Steuer-Socket-Schnittstelle mit dem Service-Mesh interagiert. Wenn Sie --help an den Befehl receptorctl übergeben, werden die CLI-Optionen und verschiedene Befehle angezeigt.

  2. Führen Sie ein Traceroute vom Control-Plane-Knoten zum Remote-Ausführungsknoten aus.

    sudo receptorctl  --socket /var/run/receptor/receptor.sock traceroute $(ssh olam-remote-execution-01 hostname -i)
    

    Beispielausgabe:

    [oracle@olam-control-01 ~]$ sudo receptorctl  --socket /var/run/receptor/receptor.sock traceroute $(ssh olam-remote-execution-01 hostname -i)
    0: 10.0.0.50 in 282.074µs
    1: 10.0.0.53 in 817.948µs
    2: 10.0.0.57 in 817.226µs
    

    Hinweis: Wenn in der Ausgabe Sonderzeichen angezeigt werden, die nicht wiedergegeben werden können, wechseln Sie im Terminalfenster zu UTF-8, indem Sie im Menü auf "Terminal" > "Set Encoding" > "Unicode" klicken.

    Im obigen Beispiel beginnt die Route auf dem ersten Control-Plane-Knoten, durchläuft den Hop-Knoten und landet auf dem Remoteausführungsknoten.

Prüfen Sie den Service-Mesh-Status in WebUI

Die Oracle Linux Automation Manager-API verwendet einen Rest-API-Aufruf, mit dem ein Administrator die Statusinformationen zu jedem Knoten im Service-Mesh-Cluster anzeigen kann.

  1. Wechseln Sie in der freien Übungsumgebung zu einem Browserfenster, und geben Sie die URL ein.

    https://localhost:8444/api/login/
    

    Hinweis: Genehmigen Sie die Sicherheitswarnung basierend auf dem verwendeten Browser. Klicken Sie für Chrome auf die Schaltfläche Erweitert und dann auf den Link Weiter zu localhost (unsicher).

  2. Melden Sie sich bei der REST-API für Oracle Linux Automation Manager an. Verwenden Sie den Benutzernamen admin und das Kennwort admin, die beim automatisierten Deployment erstellt wurden.

    olam2-restapi-login

  3. Die REST-API wird nach einer erfolgreichen Anmeldung angezeigt.

    olam2-restapi

  4. Klicken Sie im Antwortbereich auf einen der Hyperlinks /api/v2/.

    Der Klick führt eine GET-Anforderung aus und zeigt alle verfügbaren API-Ressourcen an.

  5. Scrollen Sie nach unten, und klicken Sie auf den Link mesh_visualizer.

    olam2-mesh-visualizer

  6. Schauen Sie sich die Ausgabe an.

    Beachten Sie die verschiedenen Knoten und ihre spezifische node_type. Im Abschnitt Links wird dargestellt, wie jeder Knoten im Service-Mesh miteinander verknüpft wird.

Nächste Schritte

Die verschiedenen Ausgaben zeigen ein ausgeführtes Cluster mit Hop- und Ausführungsknoten für die Ausführung von Playbooks mit Oracle Linux Automation Manager. Führen Sie jetzt ein paar Playbooks aus, und erhalten Sie zusätzliche Übungen, indem Sie sich unsere anderen Tutorials in der Oracle Linux-Schulungsstation ansehen.

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.