Hinweis:

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:

Voraussetzungen

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.

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

  1. Öffnen Sie ein Terminal und verbinden Sie sich über SSH mit der ol-pah-Instanz.

    ssh oracle@<ip_address_of_instance>
    
  2. 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
    
  3. 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.

  1. 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
    
  2. Wechseln Sie in das Arbeitsverzeichnis.

    cd ~/single_node
    
  3. 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-Bestandsdatei hub 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.

  4. 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 Editor vi. Geben Sie i ein, um in den INSERT-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 dann ENTER eingeben.

  5. Ü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.

  6. 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 als key=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.

  1. Beenden Sie die vorhandene SSH-Session.

    exit
    
  2. Ö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>
    
  3. Wechseln Sie zum Luna Desktop.

  4. Öffnen Sie den TigerVNC Viewer, indem Sie auf das Menü Anwendungen, Internet, TigerVNC Viewer klicken.

    vnc-Menü

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

    vnc-Anmeldung

  6. Geben Sie das Kennwort des oracle-Benutzers oracle ein, und klicken Sie auf OK.

    vnc-pwd

  7. Der GUI-Desktop des Servers wird mit einem Setup für die erstmalige Anmeldung angezeigt.

    gui-welcome

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

    Start-Use-ol

Verbindung zu Private Automation Hub herstellen

  1. Ö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 Link Proceed to localhost (unsafe).

  2. Melden Sie sich bei der Web-UI von Private Automation Hub an.

    Verwenden Sie den Benutzernamen admin und das Kennwort password. Dieses Kennwort ist der Wert, den wir für olpah_admin_password in der Laufzeitvariablen-Datei festgelegt haben.

    pah-login

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

    pah-webui

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.

  1. Klicken Sie in der Web-UI unter Ausführungsumgebungen im Navigationsmenü auf Remote-Registrierungen.

  2. Klicken Sie auf die Schaltfläche Remote-Registry hinzufügen.

  3. Geben Sie die folgenden Werte in die entsprechenden Felder ein.

    • Name: Quay Upstream Registry
    • URL: https://quay.io
  4. Klicken Sie auf die Schaltfläche Speichern.

    Die neu erstellte Remote-Registry wird im Bereich Remote-Registrys angezeigt.

  5. Klicken Sie im Navigationsmenü unter Ausführungsumgebungen auf Ausführungsumgebungen.

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

  7. 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 dann ENTER ein.
  8. Klicken Sie auf die Schaltfläche Speichern.

    Die neu erstellte Ausführungsumgebung wird im Bereich Ausführungsumgebungen angezeigt.

  9. Synchronisieren Sie die Ausführungsumgebung upstream/awx-ee aus der Remote-Registry.

    1. Klicken Sie auf das vertikale Drei-Punkte-Menü rechts neben dem Element upstream/awx-ee.

    2. Aus Registry synchronisieren auswählen

      Es wird ein Popup-Dialogfeld angezeigt, in dem angegeben wird, dass die Synchronisierung gestartet wurde.

    3. Klicken Sie im Popup-Dialogfeld auf den Link Detailseite, um den Status dieser Aufgabe anzuzeigen.

    4. In der Aufgabe wird das Symbol Abgeschlossen angezeigt.

    5. Klicken Sie im Navigationsmenü unter Ausführungsumgebungen auf Ausführungsumgebungen.

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

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

  1. Ö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.

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

  3. Vorhandene lokale Bilder auflisten.

    podman images
    

    In der Ausgabe werden das benutzerdefinierte Image und die Standardimages olam-ee und olam-builder von Oracle Linux Automation Manager angezeigt.

  4. 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-Registry
    • ol-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-Benutzer admin entspricht.

  5. 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
    
  6. 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
    
  7. Laden Sie das benutzerdefinierte Image in Private Automation Hub hoch.

    Hinweis: Ersetzen Sie <IMAGE ID> durch die tatsächliche Bild-ID von my_first_olam_ee_image aus der podman images-Ausgabe.

    podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
    
  8. Bestätigen Sie den Upload in der Web-UI.

    1. Wechseln Sie zum Browser mit der Web-UI von Private Automation Hub.

    2. Navigieren Sie zu Ausführungsumgebungen.

    3. Beachten Sie die neue my_first_olam_ee_image.

      pah-ee

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.

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.