0Pricing
Ansible Academy · Lezione

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: ec2

Aggiungerlo 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: launched

Attendere 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: 22

Avviare 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: present

Passare 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: ubuntu

Un 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

  1. Collections cloud e autenticazione
  2. Avviare istanze EC2 in modo dichiarativo
  3. Networking: VPC, subnet e gruppi di sicurezza
  4. Effettuare il provisioning e la configurazione in un unico flusso
← Torna a Ansible Academy