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.
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.
Diese Abbildung zeigt die Service-Mesh-Topologie für dieses Cluster.
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:
- Kapazität der Control Plane und der Ausführungsknoten auflisten
- Service-Mesh-Status für einen bestimmten Clusterknoten anzeigen
- Service-Mesh-Status mit einem API-Aufruf anzeigen
Voraussetzungen
- Ein Cluster mit installiertem Oracle Linux Automation Manager und konfiguriertem Service-Mesh
- Einen Oracle Cloud Infrastructure-(OCI-)Account
- Ein Benutzer im OCI-Account mit der Berechtigung, mit Ressourcen in einem Compartment zu arbeiten
- Zugriff auf die Zugangsdaten und OCID-Informationen dieses Accounts
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.
-
Ö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 Sammlungen.
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-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
-
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
-
Öffnen Sie ein neues Terminal.
-
Stellen Sie sicher, dass Sie sich im Verzeichnis olam des Projekts linux-virt-labs befinden.
-
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
-
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.
-
Ö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>
-
Ö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).
-
Melden Sie sich bei Oracle Linux Automation Manager mit dem USERNAME
admin
und dem PASSWORDadmin
an, die während des automatisierten Deployments erstellt wurden. -
Nach der Anmeldung wird WebUI angezeigt.
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.
-
Klicken Sie im Navigationsmenü unter Administration auf Instanzgruppen.
-
Prüfen Sie die Seite Instanzgruppen.
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
-
Klicken Sie im Navigationsmenü im Abschnitt Administration auf Topologieansicht.
-
Prüfen Sie die Seite Topologieansicht.
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.
-
Wechseln Sie zum Terminalfenster, das mit der olam-control-01-Instanz verbunden ist.
-
Melden Sie sich beim Oracle Linux Automation Manager-Benutzeraccount an.
sudo su -l awx -s /bin/bash
-
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
undexecution
sowie die einzelnen verknüpften Knoten an. Hop-Knoten werden in der Queueungrouped
angezeigt, da sie keiner aktiven Queue mit Kapazität zugeordnet sind. -
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.
-
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 Befehlreceptorctl
übergeben, werden die CLI-Optionen und verschiedene Befehle angezeigt. -
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.
-
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).
-
Melden Sie sich bei der REST-API für Oracle Linux Automation Manager an. Verwenden Sie den Benutzernamen
admin
und das Kennwortadmin
, die beim automatisierten Deployment erstellt wurden. -
Die REST-API wird nach einer erfolgreichen Anmeldung angezeigt.
-
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.
-
Scrollen Sie nach unten, und klicken Sie auf den Link mesh_visualizer.
-
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.
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.
Use Hop Nodes on Oracle Linux Automation Manager
G33077-02
Copyright ©2023, Oracle and/or its affiliates.