Effettuare il provisioning e la configurazione in un unico flusso
Passi i nuovi host ai play di configurazione
Effettuare il provisioning e la configurazione in un unico flusso è una lezione Ansible Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ansible Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ansible Academy include 4 lezioni in totale.
Due attività, un playbook
Il provisioning fa exist un server. La configurazione lo rende utile. Il vero potere consiste nel fare entrambe le cose in un unico play fluido. 🔗
Eseguire il provisioning sul nodo di controllo
Le attività di creazione cloud vengono eseguite localmente tramite l'API AWS, quindi il play di provisioning è destinato a localhost, non al nuovo server.
- hosts: localhost
gather_facts: false
tasks:
- amazon.aws.ec2_instance: { name: web-01 }Acquisire il nuovo host
Non potete collegarvi via SSH a una macchina di cui ancora non conoscete l'esistenza. Usate register sul risultato di ec2_instance per recuperare il suo nuovo IP pubblico.
- amazon.aws.ec2_instance:
name: web-01
register: ec2Aggiungerlo all'inventario in memoria
Il modulo add_host inserisce il nuovo server nell'inventario in esecuzione, così un play successivo può usarlo come destinazione senza un file statico.
- add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launchedAttendere che SSH sia pronto
Un'istanza in avvio non è raggiungibile immediatamente. wait_for attende finché la porta 22 non risponde, prima di tentare la connessione.
- wait_for:
host: "{{ ec2.instances[0].public_ip_address }}"
port: 22Avviare un secondo play
Ora aprite un nuovo play destinato al gruppo launched che avete appena creato. Questo play viene eseguito direttamente sul server cloud.
- hosts: launched
become: true
tasks:
- ping:Configurare il nuovo host
Una volta inserito l'host nell'inventario, entrano in gioco i moduli ordinari. Installate pacchetti, copiate configurazioni e avviate servizi esattamente come su qualsiasi altro nodo.
- hosts: launched
tasks:
- package:
name: nginx
state: presentPassare l'utente SSH corretto
Le immagini cloud usano account specifici, come ubuntu o ec2-user. Impostate ansible_user affinché il play di configurazione stabilisca correttamente la connessione.
add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launched
ansible_user: ubuntuUn solo file, dall'inizio alla fine
Il risultato è un unico playbook: il primo play crea l'infrastruttura, il secondo la configura. Lo esegua una volta e comparirà un server funzionante.
Idempotente in ogni fase
Entrambe le parti sono idempotenti. Eseguendole di nuovo, l'istanza esistente viene riconosciuta e la configurazione converge, quindi il flusso è sicuro da ripetere.
Evitare le richieste della chiave host
Un host appena creato ha una chiave SSH sconosciuta. Disattivi host_key_checking per il gruppo avviato, così la prima connessione non si blocca.
add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launched
ansible_ssh_common_args: "-o StrictHostKeyChecking=no"Verifica rapida
Ha appena avviato un'istanza EC2 e vuole che il play successivo la configuri, senza una voce statica nell'inventario. Che cosa colma il divario?
Riepilogo
Ha collegato il provisioning e la configurazione: creazione su localhost, registrazione dell'IP, add_host, attesa di SSH e configurazione in un secondo play. ✨
Domande Frequenti
La lezione «Effettuare il provisioning e la configurazione in un unico flusso» è gratuita?
Sì — il testo completo di «Effettuare il provisioning e la configurazione in un unico flusso» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ansible Academy, passa a CoddyKit PRO. Il corso Ansible Academy include 4 lezioni in totale.
Cosa imparerò in «Effettuare il provisioning e la configurazione in un unico flusso»?
Passi i nuovi host ai play di configurazione Eserciti Ansible Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ansible Academy?
Non è richiesta alcuna esperienza precedente. Ansible Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Effettuare il provisioning e la configurazione in un unico flusso»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ansible Academy?
Sì. Ogni lezione Ansible Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Collections cloud e autenticazione
- Avviare istanze EC2 in modo dichiarativo
- Networking: VPC, subnet e gruppi di sicurezza
- Effettuare il provisioning e la configurazione in un unico flusso