Ansible Academy · Lektion

Tillhandahåll, härda och bootstrap:a värdar

Ge nya servrar en grundläggande konfiguration

Lektion 2 av 413 steg

Tillhandahåll, härda och bootstrap:a värdar är en gratis lektion i Ansible Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Ansible Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Ansible Academy innehåller totalt 4 lektioner.

Från tom server till baslinje

Nya hostar är tomma blad. Rollen common ger varje server en säker och enhetlig baslinje innan appkoden installeras. 🛠️

Uppdatera paketcachen

Börja med att uppdatera paketen så att installationer använder aktuella versioner. Modulen apt kan uppdatera cachen i en enda idempotent uppgift.

- name: Update apt cache
  ansible.builtin.apt:
    update_cache: true
    cache_valid_time: 3600

Installera grundpaket

Använd en loop för att installera verktygen som varje host behöver, som curl, vim och ufw, i en enda lättläst uppgift.

- name: Base packages
  ansible.builtin.apt:
    name:
      - curl
      - ufw
      - fail2ban
    state: present

Skapa en distributionsanvändare

Kör aldrig apprelaterat arbete som root. Modulen user skapar ett särskilt distributionskonto som fortsättningsvis äger appen.

- name: Create deploy user
  ansible.builtin.user:
    name: deploy
    groups: sudo
    shell: /bin/bash

Lägg in SSH-nyckeln

Använd authorized_key för att ge distributionsanvändaren nyckelbaserad inloggning, så att framtida körningar kan ansluta utan lösenord.

- name: Add deploy key
  ansible.posix.authorized_key:
    user: deploy
    key: "{{ deploy_pubkey }}"

Lås ned SSH

Härda demonen: inaktivera root-inloggning och lösenordsautentisering. Modulen lineinfile redigerar sshd_config säkert och idempotent.

- ansible.builtin.lineinfile:
    path: /etc/ssh/sshd_config
    regexp: "^PermitRootLogin"
    line: "PermitRootLogin no"
  notify: Restart sshd

Öppna bara nödvändiga portar

Konfigurera brandväggen med ufw: tillåt SSH och appens portar och neka resten. Minsta möjliga exponering som standard.

- community.general.ufw:
    rule: allow
    port: "22"
    proto: tcp

Ställ in tidszon och NTP

Enhetliga klockor är viktiga för loggar och certifikat. Ställ in tidszonen och aktivera tidssynkronisering så att alla hostar är överens om aktuell tid.

- community.general.timezone:
    name: UTC

Gör det till en handler

Starta bara om sshd när konfigurationen har ändrats genom att använda notify tillsammans med en handler, aldrig vid varje körning.

handlers:
  - name: Restart sshd
    ansible.builtin.service:
      name: sshd
      state: restarted

Kör idempotent

Kör common-rollen två gånger. Den andra körningen rapporterar huvudsakligen ok, inte changed. Det visar att baslinjen verkligen har konvergerat.

Baslinje före appen

Om ni härdar först distribueras appen till en känd och säker host. Bootstrap är grunden som allt annat vilar på. 🔒

Snabbkontroll

Ett val håller SSH-konfigurationsändringarna rena.

Sammanfattning

Ni etablerade en baslinje med paket, en distributionsanvändare, SSH-nycklar, härdad sshd, en brandvägg och tidssynkronisering – allt idempotent. ✅

Gratis att börja

Lär dig YAML 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
30
Lektioner
120

Vanliga frågor

Är lektionen ”Tillhandahåll, härda och bootstrap:a värdar” gratis?

Ja – hela texten till ”Tillhandahåll, härda och bootstrap:a värdar” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Ansible Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Ansible Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Tillhandahåll, härda och bootstrap:a värdar”?

Ge nya servrar en grundläggande konfiguration Ni övar på Ansible Academy 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 Ansible Academy?

Du behöver inga förkunskaper. Utbildningen i Ansible Academy 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 2 av 4.

Hur lång tid tar lektionen ”Tillhandahåll, härda och bootstrap:a värdar”?

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 Ansible Academy-lektionen?

Ja. Varje Ansible Academy-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. Utforma projektet: roller och inventory
  2. Tillhandahåll, härda och bootstrap:a värdar
  3. Rullande utrullning bakom lastbalanseraren
  4. Smoke-tester, återställning och notifieringar
← Tillbaka till Ansible Academy