DevOps-bootcamp · Lektion

Tillhandahåll och konfigurera i ett enda flöde

Överlämna nya värdar till konfigurationsplays

Lektion 4 av 413 steg

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

Lä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: launched

Vä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: 22

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

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

En 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. ✨

Gratis att börja

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

  1. Molncollections och autentisering
  2. Starta EC2-instanser deklarativt
  3. Nätverk: VPC:er, subnät och security groups
  4. Tillhandahåll och konfigurera i ett enda flöde
← Tillbaka till DevOps-bootcamp