Nota

Uso di ambienti di esecuzione personalizzati con Oracle Linux Automation Manager

Introduzione

Utilizzando un ambiente di esecuzione personalizzato (ee), Oracle Linux Automation Manager può utilizzare playbook contenenti raccolte e altre risorse non disponibili con l'immagine olam-ee predefinita. Puoi crearlo utilizzando la utility Builder, memorizzarlo su Private Automation Hub e quindi estrarlo in Oracle Linux Automation Manager.

Come funziona tutto questo insieme?

Questa esercitazione descrive come caricare un'immagine predefinita in Private Automation Hub, quindi estrarla in Oracle Linux Automation Manager per eseguire i playbook. Per i dettagli sulla creazione di ambienti di esecuzione personalizzati, vedere la nostra esercitazione sulla utility Builder e questa esercitazione su Private Automation Hub.

Obiettivi

In questo tutorial imparerai come:

Prerequisiti

Distribuisci Oracle Linux Automation Manager

Nota: se è in esecuzione nella propria tenancy, leggere il progetto linux-virt-labs GitHub README.md e completare i prerequisiti prima di distribuire l'ambiente di esercitazione pratica.

  1. Aprire un terminale sul Luna Desktop.

  2. Duplica il progetto linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Passare alla directory di lavoro.

    cd linux-virt-labs/olam
    
  4. Installare le raccolte richieste.

    ansible-galaxy collection install -r requirements.yml
    
  5. Aggiornare la configurazione dell'istanza Oracle Linux.

    cat << EOF | tee instances.yml > /dev/null
    compute_instances:
      1:
        instance_name: "devops-node"
        type: "server"
      2:
        instance_name: "ol-pah"
        type: "server"
      3:
        instance_name: "olam-node"
        type: "control"
    passwordless_ssh: true
    use_olam_builder: true
    use_olam_pah: true
    EOF
    
  6. Implementa l'ambiente di laboratorio.

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

    L'ambiente di laboratorio gratuito richiede la variabile aggiuntiva ansible_python_interpreter perché installa il pacchetto RPM per l'SDK Oracle Cloud Infrastructure per Python. La posizione dell'installazione di questo pacchetto si trova sotto i moduli python3.6.

    La forma di distribuzione predefinita utilizza la CPU AMD e Oracle Linux 8. Per utilizzare una CPU Intel o Oracle Linux 9, aggiungere -e instance_shape="VM.Standard3.Flex" o -e os_version="9" al comando di distribuzione.

    Importante: attendere la corretta esecuzione della guida e raggiungere il task di sospensione. L'installazione di Oracle Linux Automation Manager è stata completata in questa fase del playbook e le istanze sono pronte. Prendi nota della riproduzione precedente, che stampa gli indirizzi IP pubblici e privati dei nodi che distribuisce.

Esegue il push di un ambiente di esecuzione personalizzato nell'hub di Private Automation Hub

Un metodo per eseguire il push di un ee personalizzato nell'hub di Private Automation Hub consiste nell'utilizzare podman dalla riga di comando, come illustrato nell'esercitazione Private Automation Hub. Questa attività può essere eseguita anche utilizzando una guida e la raccolta containers.podman.

  1. Aprire un terminale e connettersi tramite SSH all'istanza devops-node.

    ssh oracle@<ip_address_of_instance>
    
  2. Installare Oracle Linux Automation Engine.

    sudo dnf install ansible-core -y
    
  3. Installare le raccolte richieste.

    ansible-galaxy collection install containers.podman
    
  4. Crea il playbook per taggare e spingere l'immagine ee personalizzata.

       
    tee push-image.yml > /dev/null <<EOF
    ---
    - hosts: localhost
      collections:
        - containers.podman
    
      tasks:
    
      - name: get domain_name
        command: hostname -d
        register: domain_name
    
      - name: output domain_name var
        debug:
          msg: "{{domain_name.stdout}}"
    
      - name: push image to pah
        containers.podman.podman_image:
          name: my_custom_ee
          push: true
          push_args:
            dest: ol-pah.{{domain_name.stdout}}/my_first_olam_ee_image:latest
          username: admin
          password: password
          validate_certs: false
       
    EOF
    
  5. Eseguire il playbook.

    ansible-playbook push-image.yml
    

    La guida viene eseguita su localhost e, pertanto, non richiede un file di inventario definito.

Verifica della presenza dell'immagine nell'hub di Private Automation Hub

  1. Aprire un nuovo terminale da Luna Desktop.

  2. Configurare un tunnel SSH per Private Automation Hub.

    ssh -L 5444:localhost:443 oracle@<ip_address_of_ol-pah>
    
  3. Aprire un browser Web e immettere l'URL.

    https://localhost:5444
    

    Nota: approvare l'avvertenza di sicurezza in base al browser utilizzato. Per Chrome, fare clic sul pulsante Advanced, quindi sul collegamento Proceed to localhost (unsafe).

  4. Eseguire il login all'hub di Private Automation Hub WebUI.

    Utilizzare il nome utente admin e la password password. L'ambiente di laboratorio gratuito imposta questo valore di password durante la distribuzione del laboratorio.

    pah-login

  5. Il valore WebUI viene visualizzato dopo un login riuscito.

    pah-webui

  6. Fare clic sul menu di navigazione nell'angolo superiore sinistro dell'hub di Private Automation Hub WebUI.

  7. Passare agli ambienti di esecuzione e agli ambienti di esecuzione.

  8. Si noti che il nuovo my_first_olam_ee_image viene visualizzato nel pannello principale.

    pah-ee-2

Crea un Playbook

Gli amministratori di Oracle Linux Automation Manager possono creare playbook localmente nel file system, che può essere utilizzato da un progetto che utilizza il controllo origine manuale. Utilizzeremo il nodo_devops per scrivere una guida che spinge la nostra guida al progetto su Oracle Linux Automation Manager utilizzando Oracle Linux Automation Engine. Questa configurazione funziona solo su un'installazione con un solo host di Oracle Linux Automation Manager, poiché i playbook esistono solo su tale istanza.

  1. Passare a o aprire un terminale e connettersi tramite ssh all'istanza devops-node.

  2. Creare una directory di progetto e modificarne la directory di lavoro.

    mkdir ~/project1
    cd ~/project1
    
  3. Creare un modello.

    Questo modello è il file playbook che scriveremo nel file system sul server Oracle Linux Automation Manager per recuperare l'elenco delle immagini dei container su un host.

    mkdir templates
    tee templates/list-images.yml.j2 > /dev/null <<EOF
    ---
    - hosts: all
      collections:
        - containers.podman
      become: yes
    
      tasks:
    
      - name: gather info on images
        containers.podman.podman_image_info:
        register: podman_list
        become_user: oracle
    
      - name: list images
        debug:
          msg: "{{ podman_list.images | selectattr('RepoTags') '}}"
    EOF
    
  4. Crea una guida per inviare questo progetto a Oracle Linux Automation Manager.

       
    tee push-project.yml > /dev/null <<EOF
    ---
    - hosts: olam-node
      become: yes
    
      tasks:
    
      - name: create project directory
        ansible.builtin.file:
          path: /var/lib/awx/projects/podman
          state: directory
        become_user: awx
    
      - name: create playbook
        ansible.builtin.template:
          src: templates/list-images.yml.j2
          dest: /var/lib/awx/projects/podman/list-images.yml
        become_user: awx      
       
    EOF
    
  5. Creare un file di inventario.

    tee hosts > /dev/null <<EOF
    [olam]
    olam-node
    EOF
    
  6. Copiare la guida nel server Oracle Linux Automation Manager.

    ansible-playbook -i hosts push-project.yml
    

Aggiungi un ambiente di esecuzione personalizzato a Oracle Linux Automation Manager

Eseguire il login a WebUI

  1. Aprire un nuovo terminale da Luna Desktop.

  2. Configurare un tunnel SSH per Oracle Linux Automation Manager.

    ssh -L 8444:localhost:443 oracle@<ip_address_of_ol-node>
    

    Nell'ambiente di laboratorio gratuito, utilizza l'indirizzo IP dell'istanza olam-node.

  3. Aprire un browser Web e immettere l'URL.

    https://localhost:8444
    

    Nota: approvare l'avvertenza di sicurezza in base al browser utilizzato. Per Chrome, fare clic sul pulsante Avanzate, quindi sul collegamento Procedi a localhost (non sicuro).

  4. Eseguire il login a Oracle Linux Automation Manager WebUI.

    Utilizzare il nome utente admin e la password admin. L'ambiente di laboratorio gratuito imposta questo valore di password durante la distribuzione del laboratorio.

    olam2: login

  5. Il valore WebUI viene visualizzato dopo un login riuscito.

    olam2-webui

Aggiungi credenziale registro contenitore

  1. Fare clic su Credenziali in Risorse nel menu di navigazione.

  2. Fare clic sul pulsante Aggiungi nel pannello principale.

  3. Immettere o selezionare i seguenti valori nei campi specifici.

    Per i campi con una ricerca o un elenco di valori, è possibile iniziare a digitare il valore richiesto e quindi selezionarlo.

    • Nome: My Private Automation Hub
    • Organizzazione: Default
    • Tipo di credenziale: Container di registro
    • Authentication URL: the FQDN for the Private Automation Hub
    • Nome utente: admin
    • Password o token: password
    • Opzioni: deselezionare Verifica SSL.

    Se non si conosce il nome FQDN per l'hub di Private Automation Hub, utilizzare un terminale per connettersi all'istanza ol-pah, quindi eseguire hostname -f.

    Oracle Linux Automation Manager utilizza le credenziali del registro dei container per accedere alle immagini dei container in Private Automation Hub. Per l'ambiente di laboratorio gratuito è necessario deselezionare l'impostazione Verifica SSL a causa dell'uso di certificati autofirmati.

  4. Rivedere le voci e fare clic sul pulsante Salva.

    olam2-registro-cred

Aggiungi un ambiente di esecuzione

  1. Fare clic su Ambienti di esecuzione in Amministrazione nel menu di navigazione.

  2. Fare clic sul pulsante Aggiungi nel pannello principale.

  3. Immettere o selezionare i seguenti valori nei campi specifici.

    Per i campi con una ricerca o un elenco di valori, è possibile iniziare a digitare il valore richiesto e quindi selezionarlo.

    • Nome: My Custom EE
    • Immagine: <fqdn_of_the_private_automation_hub>/my_first_olam_ee_image:latest
    • Credenziali di registro: My Private Automation Hub
  4. Rivedere le voci e fare clic sul pulsante Salva.

    olam2-personalizzato-bene

Test dell'ambiente di esecuzione

Quando si esegue il test dell'ambiente di esecuzione personalizzato, è necessario un modello di job che include un inventario, host, credenziali computer e un progetto.

Aggiungi un magazzino

  1. Fare clic su Inventari in Risorse nel menu di navigazione.

  2. Fare clic sul pulsante Aggiungi nel pannello principale e selezionare Aggiungi magazzino dall'elenco di valori.

  3. Immettere il valore seguente nel campo specifico.

    • Nome: Oracle Linux Hosts
  4. Rivedere la voce e fare clic sul pulsante Salva.

    olam2-inv-dettagli

Aggiungere un host

  1. Fare clic sulla scheda Host nel pannello Dettagli inventario Oracle Linux.

  2. Fare clic sul pulsante Aggiungi.

  3. Immettere il nome host devops-node nel campo Nome

  4. Rivedere la voce e fare clic sul pulsante Salva.

Aggiungi credenziale computer

  1. Fare clic su Credenziali in Risorse nel menu di navigazione.

  2. Fare clic sul pulsante Aggiungi nel pannello principale.

  3. Immettere o selezionare i seguenti valori nei campi specifici.

    Per i campi con una ricerca o un elenco di valori, è possibile iniziare a digitare il valore richiesto e quindi selezionarlo.

    • Nome: Oracle Linux SSH Access
    • Organizzazione: Default
    • Tipo di credenziale: computer
    • Nome utente: opc
    • Chiave privata SSH: selezionare la chiave id_rsa dalla directory ~/.SSH

    Un modo per ottenere la chiave privata SSH consiste nel selezionare l'opzione Sfoglia per tale campo. Nella finestra di dialogo Caricamento file, selezionare Home e fare clic con il pulsante destro del mouse sulla finestra principale della finestra di dialogo. Selezionare Mostra file nascosti. Selezionare la cartella .ssh e il file id_rsa. Fare clic sul pulsante Open per copiare i contenuti del file di chiavi private nella finestra di dialogo SSH Private Key.

  4. Rivedere le voci, scorrere verso la parte inferiore della pagina e fare clic sul pulsante Salva.

    olam2-macchina-cred

Crea nuovo progetto

  1. Fare clic su Progetti in Risorse nel menu di navigazione.

  2. Fare clic sul pulsante Aggiungi nel pannello principale.

  3. Immettere o selezionare i seguenti valori nei campi specifici.

    Per i campi con una ricerca o un elenco di valori, è possibile iniziare a digitare il valore richiesto e quindi selezionarlo.

    • Nome: Container Management
    • Ambiente di esecuzione: EE personalizzato personale
    • Tipo di credenziale di controllo origine: Manuale
    • Directory di Playbook: podman
  4. Rivedere le voci e fare clic sul pulsante Salva.

    olam2-dettaglio-prog

Aggiungi un modello di job

  1. Fare clic su Modelli in Risorse nel menu di navigazione.

  2. Fare clic sul pulsante Aggiungi nel pannello principale e selezionare Aggiungi modello di job dall'elenco di valori.

  3. Immettere o selezionare i seguenti valori nei campi specifici.

    Per i campi con una ricerca o un elenco di valori, è possibile iniziare a digitare il valore richiesto e quindi selezionarlo.

    • Nome: List Images
    • Tipo di job: Esegui
    • Magazzino: Host Oracle Linux
    • Progetto: Gestione container
    • Ambiente di esecuzione: EE personalizzato personale
    • Playbook: elenco-images.yml
    • Credenziali: Accesso SSH a Oracle Linux
  4. Rivedere le voci, scorrere verso la parte inferiore della pagina e fare clic sul pulsante Salva.

    olam2-dettaglio-temp

Esegui il modello

  1. Fare clic su Modelli in Risorse nel menu di navigazione.

  2. Fare clic sull'icona Avvia modello nella colonna Azioni accanto al modello di job Elenca immagini.

Il job viene avviato e il pannello passa al riepilogo Output job. Dopo alcuni minuti, il job non riesce.

olam2-job-failure

Questo errore si verifica perché la nuova interfaccia utente personalizzata non contiene la raccolta containers.podman, pertanto l'esecuzione della guida non riesce.

Correggere l'ambiente di esecuzione personalizzato

Per correggere il problema personalizzato, è necessario ricreare l'immagine del contenitore utilizzando la utility Builder, quindi inviare la nuova immagine a Private Automation Hub per il ritiro da parte di Oracle Linux Automation Manager.

  1. Passare a o aprire un terminale e connettersi tramite ssh all'istanza devops-node.

  2. Passare alla directory del progetto ee personalizzato.

    cd ~/my_custom_ee_project
    
  3. Aggiungere la raccolta mancante al file dei requisiti di Ansible Galaxy.

    tee -a requirements.yml > /dev/null <<EOF
    - name: containers.podman
    EOF
    
  4. Ricostruisci l'immagine.

    ansible-builder build --tag my_custom_ee -v 3
    
  5. Invia la nuova immagine a Private Automation Hub.

    cd ~
    ansible-playbook push-image.yml
    
  6. Verificare che il push dell'immagine sia riuscito.

    Connettersi all'hub di Private Automation Hub WebUI ed esaminare le modifiche apportate all'ambiente di esecuzione, in particolare la colonna Ultima modifica per my_first_olam_ee_image.

    pah-ee-modify

Test del nuovo ambiente di esecuzione personalizzato

  1. Passare al browser Oracle Linux Automation Manager WebUI.

    Aggiornare la finestra del browser ed eseguire di nuovo il login, se necessario.

  2. Fare clic su Ambienti di esecuzione in Amministrazione nel menu di navigazione.

  3. Fare clic sull'icona Modifica ambiente di esecuzione nella colonna Azioni accanto al collegamento immagine Personalizzato dipendente.

  4. Modificare il valore Pull in Pull container sempre prima dell'esecuzione.

    Questo campo abilita l'opzione --pull per podman. La modifica dell'impostazione costringerà Oracle Linux Automation Manager a estrarre l'immagine più recente quando i checksum del livello non corrispondono.

  5. Rivedere le modifiche e fare clic sul pulsante Salva.

  6. Fare clic su Job in Viste nel menu di navigazione.

  7. Fare clic sull'icona Rilascia nella colonna Azioni accanto al collegamento ...Elenca immagini.

    Selezionare Tutto dall'elenco a discesa dei valori.

    Il job viene avviato e il pannello passa al riepilogo Output job. Dopo alcuni minuti, si completa con successo.

    olam2-job-success

Passi successivi

L'output all'interno di WebUI conferma che l'utente dispone di un ambiente di esecuzione personalizzato all'interno di Oracle Linux Automation Manager. Sviluppa le tue competenze e dai un'occhiata alla nostra altra formazione su Oracle Linux Automation Manager su Oracle Linux Training Station.

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.