Tillhandahåll och konfigurera i ett enda flöde
Överlämna nya värdar till konfigurationsplays
Tillhandahåll och konfigurera i ett enda flöde är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Två uppgifter, en playbook
Provisionering gör att en server finns. Konfigurering gör den användbar. Den verkliga styrkan är att göra båda i samma smidiga play. 🔗
Provisionera på kontrollnoden
Molnskapande aktiviteter körs lokalt mot AWS-API:et, så provisionerings-playen riktar sig mot localhost, inte mot den nya servern.
- hosts: localhost
gather_facts: false
tasks:
- amazon.aws.ec2_instance: { name: web-01 }Fånga den nya värden
Du kan inte ansluta via SSH till en maskin som du ännu inte känner till. Använd register på resultatet från ec2_instance för att hämta den nya offentliga IP-adressen.
- amazon.aws.ec2_instance:
name: web-01
register: ec2Lägg till den i inventoryt i minnet
Modulen add_host lägger in den nya servern i det aktiva inventoryt, så att en senare play kan rikta sig mot den utan en statisk fil.
- add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launchedVänta tills SSH är redo
En instans som håller på att starta är inte tillgänglig direkt. wait_for väntar tills port 22 svarar innan du försöker ansluta.
- wait_for:
host: "{{ ec2.instances[0].public_ip_address }}"
port: 22Starta en andra play
Öppna nu en ny play som riktar sig mot gruppen launched som du just skapade. Denna play körs på själva molnservern.
- hosts: launched
become: true
tasks:
- ping:Konfigurera den nya värden
När värden finns i inventoryt tar vanliga moduler över. Installera paket, kopiera konfigurationer och starta tjänster precis som på vilken nod som helst.
- hosts: launched
tasks:
- package:
name: nginx
state: presentAnge rätt SSH-användare
Molnavbildningar använder specifika inloggningar, till exempel ubuntu eller ec2-user. Ange ansible_user så att konfigurations-playen ansluter korrekt.
add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launched
ansible_user: ubuntuEn fil, från början till slut
Resultatet är en enda playbook: play ett skapar infrastrukturen och play två konfigurerar den. Kör den en gång så visas en fungerande server.
Idempotent hela vägen
Båda delarna är idempotenta. När du kör om flödet matchas den befintliga instansen och konfigurationen konvergerar, så flödet är säkert att upprepa.
Hoppa över frågor om värdnyckeln
En helt ny värd har en okänd SSH-nyckel. Stäng av host_key_checking för den startade gruppen så att den första anslutningen inte fastnar.
add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launched
ansible_ssh_common_args: "-o StrictHostKeyChecking=no"Snabbkontroll
Du har just startat en EC2-instans och vill att nästa play ska konfigurera den, utan någon statisk inventory-post. Vad binder ihop stegen?
Sammanfattning
Du kopplade ihop provisionering och konfiguration: skapa på localhost, registrera IP-adressen, add_host, vänta på SSH och konfigurera sedan i en andra play. ✨
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Tillhandahåll och konfigurera i ett enda flöde” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Tillhandahåll och konfigurera i ett enda flöde”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Tillhandahåll och konfigurera i ett enda flöde”?
Överlämna nya värdar till konfigurationsplays Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Tillhandahåll och konfigurera i ett enda flöde”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Molncollections och autentisering
- Starta EC2-instanser deklarativt
- Nätverk: VPC:er, subnät och security groups
- Tillhandahåll och konfigurera i ett enda flöde