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. In der Übung ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Ausführungsumgebungen in Oracle Linux Automation Manager Private Automation Hub verwalten
Einführung
Private Automation Hub ist ein Oracle Linux Automation Manager-Repository zur Verwaltung von Sammlungen, Ausführungsumgebungsimages und anderen kuratierten Inhalten lokal in der Infrastruktur eines Kunden.
In diesem Tutorial wird gezeigt, wie Sie Private Automation Hub installieren und eine benutzerdefinierte Ausführungsumgebung in die Container-Registry hochladen. Details zum Erstellen benutzerdefinierter Ausführungsumgebungen finden Sie in unserem Tutorial im Builder-Utility.
Ziele
In diesem Tutorial erfahren Sie, wie Sie:
- Sichere Passwortvariablen mit
ansible-vault
- Private Automation Hub mit Variablen installieren
- Benutzerdefinierte Ausführungsumgebung in die Private Automation Hub-Registry hochladen
Voraussetzungen
- Zwei Systeme mit Oracle Linux
- Eine für die Installation von Private Automation Hub
- Weiteres zum Ausführen des Builder-Utilitys und als Client für Private Automation Hub
Oracle Linux 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 Konfiguration der Oracle Linux-Instanz.
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "devops-node" type: "server" 2: instance_name: "ol-pah" type: "server" passwordless_ssh: true use_olam_builder: true use_devops_vnc: true add_pah_ports: true olam_type: none EOF
-
Bestandsdatei erstellen
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
Bereitstellen der Übungsumgebung.
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.
Private Automation Hub-Packages installieren
-
Öffnen Sie ein Terminal und verbinden Sie sich über SSH mit der ol-pah-Instanz.
ssh oracle@<ip_address_of_instance>
-
Installieren Sie das Oracle Linux Automation Manager-Repository.
Oracle Linux 8:
sudo dnf install -y oraclelinux-automation-manager-release-el8
Oracle Linux 9:
sudo dnf install -y oraclelinux-automation-manager-release-el9
-
Installieren Sie das Private Automation Hub-Package.
sudo dnf install -y ol-private-automation-hub-installer
Mit diesem Befehl werden die Private Automation Hub-Installations-Playbooks und -Rollen,
ansible-core
,python3.11
und andere Packageabhängigkeiten installiert.
Private Automation Hub installieren
Bei der Installation von Private Automation Hub müssen Sie die Kennwörter für den Private Automation Hub-Superuser-Account admin
und die zugehörige Backend-Datenbank festlegen. Anstatt diese im offenen Modus an das Playbook zu übergeben, führen wir diesen Schritt mit ansible-vault
sicherer aus.
Das Utility ansible-vault
, das mit Oracle Linux Automation Engine ausgeliefert wird, ermöglicht die Verschlüsselung und Entschlüsselung strukturierter Datendateien, einschließlich Textdateien, Variablen und YAML-Wiedergabebüchern.
Wir verschlüsseln eine variable Datei, die unsere beiden Passwörter für unsere Zwecke enthält.
-
Kopieren Sie das Private Automation Hub-Playbook in das Arbeitsverzeichnis.
cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
-
Wechseln Sie in das Arbeitsverzeichnis.
cd ~/single_node
-
Bestandsdatei erstellen
Die Bestandsdatei für dieses Playbook erfordert den Hostnamen und den SSH-Benutzernamen, unter denen das Playbook den Private Automation Hub installiert. Sie definieren die Bestandsdatei im INI- oder YAML-Format. Das Beispielinventar
hosts.singlenode.example
im Installations-Playbook verwendet YAML. Daher verwenden wir das INI-Format hier, um eine alternative Option zu demonstrieren.tee hosts > /dev/null <<EOF [hub] ol-pah ansible_host=ol-pah ansible_user=oracle EOF
Im Gegensatz zu dem Beispiel, das
hub
als Alias für ansible_host verwendet, verwendet diese INI-Bestandsdateihub
als Gruppennamen. Gruppen ermöglichen die Erstellung von Parent-Child-Beziehungen zwischen Hosts und kategorisieren diese in eine oder mehrere Kategorien, um Aufgaben auszuführen oder Variablen zuzuweisen. -
Erstellen Sie einen Vault mit den Passwortvariablen.
ansible-vault create vault_passwords.yml
Wenn Sie den Befehl ausführen, werden Sie aufgefordert, ein Vault-Kennwort zu erstellen. Das Utility
ansible-vault
verwendet dieses Kennwort, um den Inhalt des Vaults zu entschlüsseln und über ein Playbook auf diesen Inhalt zuzugreifen. Das Passwort kann eine beliebige Kombination von Zeichen sein, aber denken Sie daran, da Sie es nicht wiederherstellen können.Nachdem Sie das Kennwort eingegeben und bestätigt haben, öffnet das Utility die Datei
vault_passwords.yml
in Ihrem Standardeditor. Für die kostenlose Übungsumgebung lautet der Editorvi
. Geben Siei
ein, um in denINSERT
-Modus zu wechseln, und fügen Sie diese Private Automation Hub-Beispielkennwortvariablen ein.Hinweis: Dies sind die Variablen, die das Playbook verwendet, wenn Private Automation Hub installiert und die Superuser- und Datenbankkennwörter festgelegt werden.
--- olpah_admin_password: password olpah_db_password: password
Schließen Sie die Datei, und speichern Sie sie, indem Sie
ESC
,:wq!
und dannENTER
eingeben. -
Überprüfen Sie den Inhalt des Tresors.
ansible-vault view vault_passwords.yml
Geben Sie das Vault-Kennwort an der Eingabeaufforderung ein, und
ansible-vault
zeigt den Inhalt des Vaults im Terminal an. -
Führen Sie das Private Automation Hub-Playbook aus.
ansible-playbook single-node-install.yml -i hosts -e "@vault_passwords.yml" --ask-vault-pass
-i
definiert die Bestandsdatei-e
definiert Laufzeitvariablen alskey=value
-Paare oder in einer Variablendatei.--ask-vault-pass
fordert zur Eingabe des Vault-Kennworts auf
Es gibt alternative Methoden zur Angabe des Vault-Kennworts, das Sie in der Upstream-Dokumentation prüfen können.
Hinweis: Die Installation von Private Automation Hub dauert 10-20 Minuten. Während der Installation scrollt der Fortschritt des Playbooks im Terminal, bis alle Aufgaben abgeschlossen sind.
Öffnen Sie eine VNC-Session zu der DevOps-Instanz.
Mit der VNC-Session können Sie mit dem Hostnamen oder dem vollqualifizierten Domainnamen (FQDN) in der kostenlosen Übungsumgebung eine Verbindung zur Private Automation Hub-Web-UI herstellen. Die Verwendung des Hostnamens oder FQDN ist erforderlich, da der integrierte Schutz von Django die Web-UI vor Cross-Site Request Forgery-(CSRF-)Angriffen schützt.
-
Beenden Sie die vorhandene SSH-Session.
exit
-
Öffnen Sie ein neues Terminal, und stellen Sie über SSH eine Verbindung zur devops-node-Instanz her.
Mit der Option
-L
wird die lokale Weiterleitung aktiviert. Dadurch wird ein lokaler Port geöffnet, um über einen SSH-Tunnel eine Verbindung zum Remote-VNC-Server herzustellen.ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
-
Wechseln Sie zum Luna Desktop.
-
Öffnen Sie den TigerVNC Viewer, indem Sie auf das Menü Anwendungen, Internet, TigerVNC Viewer klicken.
-
Melden Sie sich bei der GUI-Umgebung des bereitgestellten Servers an, indem Sie
localhost:5914
in das Textfeld VNC Server eingeben und auf die Schaltfläche Connect klicken. -
Geben Sie das Kennwort des
oracle
-Benutzers oracle ein, und klicken Sie auf OK. -
Der GUI-Desktop des Servers wird mit einem Setup für die erstmalige Anmeldung angezeigt.
-
Klicken Sie drei Mal auf die Schaltfläche Next (Weiter), dann auf die Schaltfläche Skip (Überspringen) und anschließend auf die Schaltfläche Start Using Oracle Linux Server. Schließen oder minimieren Sie schließlich das Fenster Erste Schritte.
Verbindung zu Private Automation Hub herstellen
-
Öffnen Sie einen Webbrowser in der VNC-Session, und geben Sie die URL ein.
https://ol-pah
Hinweis: Genehmigen Sie die Sicherheitswarnung basierend auf dem verwendeten Browser. Klicken Sie für Chrome auf die Schaltfläche
Advanced
und dann auf den LinkProceed to localhost (unsafe)
. -
Melden Sie sich bei der Web-UI von Private Automation Hub an.
Verwenden Sie den Benutzernamen
admin
und das Kennwortpassword
. Dieses Kennwort ist der Wert, den wir fürolpah_admin_password
in der Laufzeitvariablen-Datei festgelegt haben. -
Die Web-UI wird nach erfolgreicher Anmeldung angezeigt.
Ausführungsumgebung über die Web-UI hinzufügen
Eines der Elemente, das Private Automation Hub verwaltet, sind Ausführungsumgebungen. Mit dieser Funktion kann Private Automation Hub als Repository für Containerimages dienen, sodass Administratoren mit ihnen über Podman und die Web-UI interagieren können.
-
Klicken Sie in der Web-UI unter Ausführungsumgebungen im Navigationsmenü auf Remote-Registrierungen.
-
Klicken Sie auf die Schaltfläche Remote-Registry hinzufügen.
-
Geben Sie die folgenden Werte in die entsprechenden Felder ein.
- Name:
Quay Upstream Registry
- URL:
https://quay.io
- Name:
-
Klicken Sie auf die Schaltfläche Speichern.
Die neu erstellte Remote-Registry wird im Bereich Remote-Registrys angezeigt.
-
Klicken Sie im Navigationsmenü unter Ausführungsumgebungen auf Ausführungsumgebungen.
-
Klicken Sie auf die Schaltfläche Ausführungsumgebung hinzufügen.
In der Web-UI wird das Dialogfeld Ausführungsumgebung hinzufügen angezeigt. Über diesen Dialog können Container-Images aus Upstream- oder anderen Registrys abgerufen werden.
-
Geben Sie die folgenden Werte in die spezifischen Felder ein, oder wählen Sie sie aus.
- Name:
upstream/awx-ee
- Upstream-Name:
ansible/awx-ee
- Registry: Quay Upstream Registry
- Einzuschließende Tags hinzufügen: Geben Sie
latest
und dannENTER
ein.
- Name:
-
Klicken Sie auf die Schaltfläche Speichern.
Die neu erstellte Ausführungsumgebung wird im Bereich Ausführungsumgebungen angezeigt.
-
Synchronisieren Sie die Ausführungsumgebung upstream/awx-ee aus der Remote-Registry.
-
Klicken Sie auf das vertikale Drei-Punkte-Menü rechts neben dem Element upstream/awx-ee.
-
Aus Registry synchronisieren auswählen
Es wird ein Popup-Dialogfeld angezeigt, in dem angegeben wird, dass die Synchronisierung gestartet wurde.
-
Klicken Sie im Popup-Dialogfeld auf den Link Detailseite, um den Status dieser Aufgabe anzuzeigen.
-
In der Aufgabe wird das Symbol Abgeschlossen angezeigt.
-
Klicken Sie im Navigationsmenü unter Ausführungsumgebungen auf Ausführungsumgebungen.
-
Klicken Sie im Bereich Ausführungsumgebungen auf den Link upstream/awx-ee.
Über diesen Link werden die Anweisungen zum Abrufen dieses Images aus Private Automation Hub auf der Registerkarte Details angezeigt.
-
Klicken Sie auf die Registerkarte Bilder.
In diesem Bereich werden weitere Details zum Image angezeigt, einschließlich Tag, Größe und sha256 Digest.
-
Pushausführungsumgebung mit Podman
-
Öffnen Sie ein Terminal, und stellen Sie eine SSH-Verbindung zur devops-node-Instanz her.
ssh oracle@<ip_address_of_instance>
Diese Instanz enthält eine Installation des Builder-Utilitys und eine vordefinierte benutzerdefinierte Ausführungsumgebung. Einzelheiten zum Ausführen dieser Aufgaben finden Sie unter Benutzerdefinierte Ausführungsumgebungen mit dem Oracle Linux Automation Manager Builder-Utility erstellen.
-
Wechseln Sie in das Arbeitsverzeichnis des Projekts.
cd ~/my_custom_ee_project
Dieses Verzeichnis enthält die Datendateien des Builder-Utilitys, mit denen Podman das Image der benutzerdefinierten Ausführungsumgebung erstellt.
-
Vorhandene lokale Bilder auflisten.
podman images
In der Ausgabe werden das benutzerdefinierte Image und die Standardimages
olam-ee
undolam-builder
von Oracle Linux Automation Manager angezeigt. -
Melden Sie sich beim Private Automation Hub an.
podman login -u admin https://ol-pah.$(hostname -d) --tls-verify=0
-u
ist ein Benutzer mit Berechtigungen für den Zugriff auf die Container-Registryol-pah.$(hostname -d)
ist der Container-Registry-FQDN--tls-verify=0
deaktiviert die TLS-Zertifikatverifizierung, da die freie Laborumgebung selbstsignierte Zertifikate verwendet
Der Befehl fordert zur Eingabe eines
Password:
auf. Geben Sie das Kennwort ein, das den Zugangsdaten für den Private Automation Hub-Benutzeradmin
entspricht. -
Taggen Sie das lokale benutzerdefinierte Image.
Bevor Sie das Image in die Private Automation Hub-Registry übertragen, erstellen Sie die erforderliche Repository-Struktur und das erforderliche Tag mit dem lokalen Image.
podman tag localhost/my_custom_ee ol-pah.$(hostname -d)/my_first_olam_ee_image
-
Prüfen Sie, ob das neue getaggte Bild vorhanden ist.
podman images
Beispielausgabe:
[oracle@devops-node my_custom_ee_project]$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/my_custom_ee latest fbc43634b168 5 hours ago 2.29 GB ol-pah.lv.vcn5ef1c2b6.oraclevcn.com/my_first_olam_ee_image latest fbc43634b168 5 hours ago 2.29 GB <none> <none> 92aa94db3699 5 hours ago 1.4 GB <none> <none> cc087fbfa018 5 hours ago 1.45 GB container-registry.oracle.com/oracle_linux_automation_manager/olam-ee latest 368657c8376d 5 weeks ago 1.25 GB container-registry.oracle.com/oracle_linux_automation_manager/olam-builder latest 5e98580f7956 5 weeks ago 546 MB
-
Laden Sie das benutzerdefinierte Image in Private Automation Hub hoch.
Hinweis: Ersetzen Sie
<IMAGE ID>
durch die tatsächliche Bild-ID vonmy_first_olam_ee_image
aus derpodman images
-Ausgabe.podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
-
Bestätigen Sie den Upload in der Web-UI.
-
Wechseln Sie zum Browser mit der Web-UI von Private Automation Hub.
-
Navigieren Sie zu Ausführungsumgebungen.
-
Beachten Sie die neue my_first_olam_ee_image.
-
Nächste Schritte
Die Ausgabe in der Web-UI bestätigt, dass Sie über einen funktionsfähigen Private Automation Hub verfügen und Ihre benutzerdefinierten Images hochladen und speichern können. Sehen Sie sich unsere anderen Tutorials mit Oracle Linux Automation Manager an, um Ihre Fähigkeiten zu üben.
Verwandte Links
- Dokumentation zu Oracle Linux Automation Manager
- Oracle Linux Automation Manager-Schulung
- Oracle Linux-Schulungsstation
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Manage Execution Environments in Oracle Linux Automation Manager Private Automation Hub
G39661-01
Copyright ©2023, Oracle and/or its affiliates.