Nota
- Questa esercitazione è disponibile in un ambiente di esercitazione pratica gratuito fornito da Oracle.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
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.
Questa immagine mostra la topologia mesh del servizio per questo cluster.
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:
- Elenca la capacità del piano di controllo e dei nodi di esecuzione
- Visualizzare lo stato mesh del servizio per un determinato nodo cluster
- Visualizza lo stato mesh del servizio mediante una chiamata API
Prerequisiti
- Cluster con Oracle Linux Automation Manager installato e Service Mesh configurato
- Un account Oracle Cloud Infrastructure (OCI)
- Un utente nell'account OCI con l'autorizzazione per utilizzare le risorse in un compartimento
- Accesso alle credenziali e alle informazioni sull'OCID dell'account
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.
-
Aprire un terminale sul Luna Desktop.
-
Duplica il progetto
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Passare alla directory di lavoro.
cd linux-virt-labs/olam
-
Installare le raccolte richieste.
ansible-galaxy collection install -r requirements.yml
-
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
-
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
-
Aprire un nuovo terminale.
-
Verificare di trovarsi nella directory olam del progetto linux-virt-labs .
-
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
-
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
-
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>
-
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).
-
Eseguire il login a Oracle Linux Automation Manager con il nome utente
admin
e la PASSWORDadmin
creati durante la distribuzione automatica. -
Dopo il login viene visualizzato il file 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.
-
Fare clic su Gruppi di istanze in Amministrazione nel menu di navigazione.
-
Rivedere la pagina Gruppi di istanze.
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
-
Fare clic su Vista topologia nella sezione Amministrazione del menu di navigazione.
-
Rivedere la pagina Vista topologia.
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.
-
Passare alla finestra del terminale connessa all'istanza olam-control-01.
-
Eseguire il login all'account utente di Oracle Linux Automation Manager.
sudo su -l awx -s /bin/bash
-
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
eexecution
e ogni nodo associato. I nodi hop vengono visualizzati nella codaungrouped
poiché non sono associati a una coda attiva contenente capacità. -
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.
-
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 comandoreceptorctl
mostra le opzioni della CLI e i diversi comandi. -
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.
-
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).
-
Eseguire il login all'API REST di Oracle Linux Automation Manager. Utilizzare il nome utente
admin
e la passwordadmin
creati durante la distribuzione automatica. -
L'API REST viene visualizzata dopo un login riuscito.
-
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.
-
Scorrere fino in fondo e fare clic sul collegamento mesh_visualizer.
-
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.
Collegamenti correlati
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.
Use Hop Nodes on Oracle Linux Automation Manager
G33081-02
Copyright ©2023, Oracle and/or its affiliates.