Nota

Usa nodi Hop in Oracle Linux Automation Manager

Introduzione

Oracle Linux Automation Manager supporta una tecnologia mesh di servizio basata sul progetto receptor a monte. Il mesh di servizio collega i nodi controller, hop ed esecuzione in una rete di overlay tramite un'applicazione recettore basata su daemon.

Oracle Linux Automation Manager introduce il nodo hop come parte del service mesh. Questo tipo di nodo consente di trasferire i task dai nodi del piano di controllo ai nodi di esecuzione su reti remote o limitate nello stesso modo in cui SSH utilizza un host jump. Questa implementazione consente l'esecuzione di job su nodi di esecuzione diversi e di avvicinare le attività ai sistemi che richiedono l'automazione.

L'inventario di esempio riportato di seguito definisce una distribuzione di cluster a più nodi nell'ambiente di laboratorio gratuito. Per aiutarti ad automatizzare l'installazione dei cluster sul tuo hardware, consulta la guida nella sezione Oracle Linux Automation Manager del progetto anible-playbooks.

Questo inventario di esempio crea un cluster costituito da due nodi del piano di controllo, due nodi di esecuzione, un nodo hop con un singolo nodo di esecuzione remota e un database remoto.

playbook-inv

Questa immagine mostra la topologia mesh del servizio per questo cluster.

configurazione_esec_remota_locale

Questa esercitazione mostra diversi metodi per controllare lo stato di un mesh di servizio e confermare la comunicazione della topologia tra i vari nodi.

Obiettivi

In questo tutorial imparerai come:

Prerequisiti

Per informazioni dettagliate sull'installazione di Oracle Linux Automation Manager, vedere il manuale Oracle Linux Automation Manager Installation Guide.

Distribuire le istanze di 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: "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. 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.

Distribuire il cluster di Oracle Linux Automation Manager

  1. Aprire un nuovo terminale.

  2. Verificare di trovarsi nella directory olam del progetto linux-virt-labs .

  3. Convertire il file di inventario di base.

    Questo script di conversione crea un file di inventario compatibile con cluster dall'inventario di base generato dalla playbook di distribuzione dell'istanza.

    chmod +x convert_ansible_inventory.sh
    ./convert_ansible_inventory.sh hosts > hosts.cluster
    
  4. Eseguire la guida di distribuzione del cluster.

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

Eseguire il login a WebUI

  1. Aprire un terminale e configurare un tunnel SSH per l'istanza olam-control-01 del cluster di Oracle Linux Automation Manager.

    ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
    
  2. Aprire un browser Web e immettere l'URL.

    https://localhost:8444
    

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

  3. Eseguire il login a Oracle Linux Automation Manager con il nome utente admin e la PASSWORD admin creati durante la distribuzione automatica.

    olam2: login

  4. Dopo il login viene visualizzato il file WebUI.

    olam2-webui

Confermare i gruppi di istanze in WebUI

Un gruppo di istanze consente di raggruppare le istanze all'interno di un cluster in base ai criteri. Questi criteri determinano il funzionamento del gruppo di istanze e l'esecuzione dei job.

  1. Fare clic su Gruppi di istanze in Amministrazione nel menu di navigazione.

    olam2-istanza-grp-menu

  2. Rivedere la pagina Gruppi di istanze.

    olam2-instnace-grp-page

    La pagina mostra la capacità in base alle impostazioni dei criteri. Per ulteriori dettagli su queste impostazioni dei criteri, vedere Gestione dei gruppi di istanze nel capitolo Impostazione delle risorse della documentazione del manuale Oracle Linux Automation Manager User's Guide.

Visualizzare la topologia del cluster

  1. Fare clic su Vista topologia nella sezione Amministrazione del menu di navigazione.

    olam2-menu-top-view

  2. Rivedere la pagina Vista topologia.

    olam2-vista dall'alto

    La pagina mostra un layout grafico della topologia del cluster contenente ciascuno dei relativi nodi. Il passaggio sui nodi mostra le frecce da un nodo all'altro, indicandone l'associazione peer.

Elenca istanze

Utilizzando la utility awx-manage, un amministratore può configurare ed elencare le istanze associate ai gruppi di istanze (code). Un amministratore esegue questa azione da uno qualsiasi dei nodi del piano di controllo all'interno del cluster.

  1. Passare alla finestra del terminale connessa all'istanza olam-control-01.

  2. Eseguire il login all'account utente di Oracle Linux Automation Manager.

    sudo su -l awx -s /bin/bash
    
  3. Elencare le istanze.

    awx-manage list_instances
    

    Output di esempio:

    [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"
    

    L'output mostra le code controlplane e execution e ogni nodo associato. I nodi hop vengono visualizzati nella coda ungrouped poiché non sono associati a una coda attiva contenente capacità.

  4. Disconnettersi dall'utente di Oracle Linux Automation Manager.

    exit
    

    Questa azione deve riportare all'account utente oracle nell'istanza olam-control-01.

Mostra stato mesh servizio

Con l'esecuzione del mesh di servizio, è possibile ottenere lo stato del mesh di servizio e dei nodi associati.

  1. Recupera lo stato del mesh di servizio.

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

    Output di esempio:

    [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
    

    Il comando receptorctl è l'interfaccia CLI front-end che interagisce con il mesh di servizio sulla relativa interfaccia socket di controllo. Il passaggio di --help al comando receptorctl mostra le opzioni della CLI e i diversi comandi.

  2. Eseguire un traceroute dal nodo del piano di controllo al nodo di esecuzione remota.

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

    Output di esempio:

    [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
    

    Nota: se nell'output vengono visualizzati caratteri speciali che non vengono visualizzati, impostare la codifica nella finestra del terminale su UTF-8 facendo clic su Terminale > Imposta codifica > Unicode nel menu.

    Nell'esempio precedente, il percorso inizia sul primo nodo del piano di controllo, passa attraverso il nodo hop e atterra sul nodo di esecuzione remoto.

Controllare lo stato Mesh di servizio nel file WebUI

L'API di Oracle Linux Automation Manager utilizza una chiamata API Rest che consente a un amministratore di visualizzare le informazioni sullo stato di ogni nodo nel cluster mesh del servizio.

  1. Passare a una finestra del browser nell'ambiente di laboratorio gratuito e immettere l'URL.

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

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

  2. Eseguire il login all'API REST di Oracle Linux Automation Manager. Utilizzare il nome utente admin e la password admin creati durante la distribuzione automatica.

    olam2-restapi-login

  3. L'API REST viene visualizzata dopo un login riuscito.

    olam2-restapi

  4. Fare clic su uno dei collegamenti ipertestuali /api/v2/ nell'area di risposta.

    Il clic esegue una richiesta GET e visualizza tutte le risorse API disponibili.

  5. Scorrere fino in fondo e fare clic sul collegamento mesh_visualizer.

    olam2-mesh-visualizer

  6. Guardare attraverso l'output.

    Notare i diversi nodi e il relativo node_type specifico. Nella sezione collegamenti viene illustrato il modo in cui ciascun nodo si associa a un altro nel mesh di servizio.

Passi successivi

I vari output mostrano un cluster in esecuzione con nodi hop ed esecuzione per l'esecuzione di playbook utilizzando Oracle Linux Automation Manager. Ora, vai a eseguire alcuni playbook e ottieni ulteriori esercitazioni consultando gli altri tutorial su Oracle Linux Training Station.

Documentazione su Oracle Linux Automation Manager
Formazione su Oracle Linux Automation Manager
Formazione su Oracle Linux

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.