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.
Installare Oracle Linux Automation Manager su Oracle Linux
Introduzione
Oracle Linux Automation Manager è un motore di attività e un'interfaccia utente grafica (GUI) basata sul Web per la pianificazione e l'esecuzione dei playbook di Oracle Linux Automation Engine rispetto agli inventari degli host remoti. Questa suite di strumenti consente agli amministratori di gestire facilmente la propria infrastruttura IT e di completare attività ripetitive in modo noto e prevedibile, evitando comuni problemi di amministrazione basati su manuali.
Oracle Linux Automation Engine è uno strumento per la gestione e l'esecuzione di attività di amministrazione utilizzando un'infrastruttura basata su codice come file di definizione YAML Code (IaC) chiamati playbook. Questi playbook includono attività didattiche come la distribuzione di software, la configurazione dei sistemi e l'orchestrazione di aggiornamenti e aggiornamenti.
Obiettivi
In questo tutorial imparerai come:
- Abilita il repository DNF di Oracle Linux
- Impostare le regole firewall
- Scaricare, installare e configurare un Oracle Linux Automation Manager su host singolo
Prerequisiti
- Un sistema con Oracle Linux installato.
Distribuisci Oracle Linux
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-node" type: "control" olam_type: none EOF
-
Creare un file di inventario.
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
Implementa l'ambiente di laboratorio.
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
L'ambiente di laboratorio gratuito richiede la variabile extra
ansible_python_interpreter
per localhost perché installa il pacchetto RPM per Oracle Cloud Infrastructure SDK per Python. La posizione per l'installazione di questo pacchetto si trova sotto i moduli Python predefiniti del sistema in base alla versione di Oracle Linux in uso. L'utilizzo di una variabile di inventario evita di influire sulle riproduzioni in esecuzione su host diversi da localhost.La forma di distribuzione predefinita utilizza la CPU AMD. È possibile modificare la forma delle istanze passando una nuova definizione di variabile forma sulla riga di comando.
Ad esempio:
-e instance_shape="VM.Standard3.Flex"
Analogamente, la versione predefinita dell'immagine Oracle Linux utilizza la variabile
os_version
definita nel file `default_vars.yml. È possibile modificare questo valore passando la versione principale di Oracle Linux dalla riga di comando.Ad esempio:
-e os_version="9"
Importante: attendere che il playbook venga eseguito correttamente e raggiungere il task di sospensione. In questa fase del playbook, l'installazione di Oracle Linux è completa e le istanze sono pronte. Nota la riproduzione precedente, che stampa gli indirizzi IP pubblici e privati dei nodi che distribuisce.
Abilitare il repository DNF di Oracle Linux e impostare le regole del firewall
Abilitare i repository yum e le regole firewall necessari prima di installare Oracle Linux Automation Manager.
-
Aprire un terminale e connettersi tramite ssh al nodo olam-node.
ssh oracle@<ip_address_of_instance>
-
Installare il repository di Oracle Linux Automation Manager.
Oracle Linux 8:
sudo dnf -y install oraclelinux-automation-manager-release-el8
Oracle Linux 9:
sudo dnf -y install oraclelinux-automation-manager-release-el9
Questo comando abilita l'ultimo repository di Oracle Linux Automation Manager come impostazione predefinita per l'installazione dei pacchetti del prodotto.
-
Aggiungere i servizi HTTP/HTTPS alle regole del firewall.
sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
Installare un database PostgreSQL locale
-
Abilitare il flusso del modulo.
sudo dnf module reset postgresql sudo dnf -y module enable postgresql:16
-
Installare il database.
sudo dnf -y install postgresql-server
-
Inizializzare il database.
sudo postgresql-setup --initdb
-
Passare al meccanismo di storage delle password scram-sha-256.
sudo sed -i "s/#password_encryption.*/password_encryption = scram-sha-256/" /var/lib/pgsql/data/postgresql.conf
-
Abilitare e avviare il database.
sudo systemctl enable --now postgresql
-
Creare gli account utente del database.
Importante: per questo ambiente di esercitazione pratica gratuito, utilizzare la password
password
al prompt. Questa password non è sicura e viene utilizzata solo a scopo dimostrativo in questo ambiente.sudo su - postgres -c "createuser -S -P awx"
-
Creare il database.
sudo su - postgres -c "createdb -O awx awx"
-
Aggiornare il file di autenticazione basata sull'host.
echo "host all all 0.0.0.0/0 scram-sha-256" | sudo tee -a /var/lib/pgsql/data/pg_hba.conf > /dev/null
-
Aggiornare l'indirizzo IP del listener del database.
sudo sed -i "/^#port = 5432/i listen_addresses = '"$(hostname -i)"'" /var/lib/pgsql/data/postgresql.conf
-
Aggiornare i requisiti di memoria del database.
Questi calcoli utilizzano la memoria totale del sistema in megabyte e sostituiscono i valori predefiniti nel file di configurazione PostgreSQL.
export TOTAL_MEMORY="$(free --mega | awk 'FNR == 2 {print $2}')" sudo sed -i 's/max_connections = 100/max_connections = 1024/g' /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^shared_buffers =/c\shared_buffers = $( echo "($TOTAL_MEMORY*0.3)/1" | bc )" /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^#work_mem =/c\work_mem = $( echo "($TOTAL_MEMORY*0.03)/1" | bc )" /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^#maintenance_work_mem =/c\maintenance_work_mem = $( echo "($TOTAL_MEMORY*0.04)/1" | bc )MB" /var/lib/pgsql/data/postgresql.conf
-
Riavviare il database.
sudo systemctl restart postgresql
Installare e configurare Oracle Linux Automation Manager
-
Installare il pacchetto Oracle Linux Automation Manager e tutte le dipendenze.
sudo dnf -y install ol-automation-manager
-
Aggiornare il file di configurazione Redis.
Oracle Linux 8:
sudo sed -i '/^# unixsocketperm/a unixsocket /var/run/redis/redis.sock\nunixsocketperm 775' /etc/redis.conf
Oracle Linux 9:
sudo sed -i '/^# unixsocketperm/a unixsocket /var/run/redis/redis.sock\nunixsocketperm 775' /etc/redis/redis.conf
-
Aggiungere CLUSTER_HOST_ID a un file di impostazioni personalizzato.
cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' EOF
Nota: l'utilizzo di
$(hostname -i)
non funziona per i sistemi con IPv6 abilitato a causa degli spazi esistenti nell'output. Utilizzare invece il nome host del sistema, che può essere utilizzato con$(hostname -f)
, o un'altra stringa senza spazi. -
Aggiornare le autorizzazioni per il file delle impostazioni personalizzate.
sudo chown awx.awx /etc/tower/conf.d/olam.py sudo chmod 0640 /etc/tower/conf.d/olam.py
-
Aggiungere le impostazioni del database a un file di configurazione personalizzato.
cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null DATABASES = { 'default': { 'ATOMIC_REQUESTS': True, 'ENGINE': 'awx.main.db.profiled_pg', 'NAME': 'awx', 'USER': 'awx', 'PASSWORD': 'password', 'HOST': '$(hostname -i)', 'PORT': '5432', } } EOF
-
Abilita persistente.
Oracle Linux 9:
sudo loginctl enable-linger awx
Questo messaggio viene risolto quando si esegue un sistema headless:
AVVERTENZA[0000] Il manager cgroupv2 è impostato su systemd ma non è disponibile alcuna sessione utente systemd WARN[0000] Per l'utilizzo di systemd, potrebbe essere necessario eseguire il login utilizzando una sessione utente WARN[0000] In alternativa, è possibile attivare il persistere con:
loginctl enable-linger 986
(possibilmente come root) WARN[0000] Falling back to –cgroup-manager=cgroupfs
AVVERTENZA[0000] Il manager cgroupv2 è impostato su systemd ma non è disponibile alcuna sessione utente systemd WARN[0000] Per l'utilizzo di systemd, potrebbe essere necessario eseguire il login utilizzando una sessione utente WARN[0000] In alternativa, è possibile attivare il persistere con:loginctl enable-linger 986
(possibilmente come root) WARN[0000] Verrà ripristinato il valore di -cgroup-manager=cgroupfs -
Estrai l'immagine del contenitore Oracle Linux Automation Manager.
Oracle Linux 8:
sudo su -l awx -s /bin/bash
podman system migrate
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol8
Oracle Linux 9:
sudo su -l awx -s /bin/bash
podman system migrate
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol9
-
Creare lo schema e l'account utente amministratore di Oracle Linux Automation Manager.
awx-manage migrate awx-manage createsuperuser --username admin --email admin@example.com
Nota: nell'esempio precedente,
admin@example.com
è un indirizzo e-mail di esempio dell'utente amministratore. -
Immettere e confermare la password per l'utente amministratore.
-
Uscire dalla shell awx utente.
exit
-
Genera un certificato SSL per NGINX.
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/tower/tower.key -out /etc/tower/tower.crt
Immettere le informazioni richieste o semplicemente premere il tasto
ENTER
. -
Sostituire la configurazione NGINX predefinita.
cat << EOF | sudo tee /etc/nginx/nginx.conf > /dev/null user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; } EOF
-
Aggiornare il file di configurazione del ricevitore.
cat << EOF | sudo tee /etc/receptor/receptor.conf > /dev/null --- - node: id: $(hostname -i) - log-level: debug - tcp-listener: port: 27199 - control-service: service: control filename: /var/run/receptor/receptor.sock - work-command: worktype: local command: /var/lib/ol-automation-manager/venv/awx/bin/ansible-runner params: worker allowruntimeparams: true verifysignature: false EOF
-
Esegue il provisioning di un'istanza e registra gli ambienti di esecuzione.
sudo su -l awx -s /bin/bash
awx-manage provision_instance --hostname=$(hostname -i) --node_type=hybrid
awx-manage register_default_execution_environments
awx-manage register_queue --queuename=default --hostnames=$(hostname -i)
awx-manage register_queue --queuename=controlplane --hostnames=$(hostname -i)
awx-manage create_preload_data
exit
-
Avviare il servizio.
sudo systemctl enable --now ol-automation-manager.service
-
Esegue la disconnessione dal server.
exit
Verifica dell'installazione
-
Utilizzando la stessa finestra di terminale, configurare un tunnel SSH.
ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
Nota: nell'esempio precedente,
<ip_address_of_instance>
è il nome host o l'indirizzo IP del sistema su cui è in esecuzione Oracle Linux Automation Manager. Se si utilizza il nome host, l'host deve essere risolvibile. -
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
Advanced
, quindi sul collegamentoProceed to localhost (unsafe)
. -
Eseguire il login a Oracle Linux Automation Manager con il nome utente
admin
e la password creata durante l'impostazione.
Passi successivi
Con Oracle Linux Automation Manager installato, puoi iniziare a esplorare l'interfaccia utente Web e le varie funzioni del prodotto per automatizzare la tua infrastruttura. Dai un'occhiata alla nostra formazione aggiuntiva su Oracle Linux Training Station per ampliare le tue conoscenze e ottenere idee.
Collegamenti correlati
- Documentazione di Oracle Linux Automation Manager
- Formazione su Oracle Linux Automation Manager
- Stazione di 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.
Install Oracle Linux Automation Manager on Oracle Linux
F52959-05
Copyright ©2021, Oracle and/or its affiliates.