Tillhandahåll, härda och bootstrap:a värdar
Ge nya servrar en grundläggande konfiguration
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: 3600Installera 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: presentSkapa 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/bashLä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: tcpStä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: UTCGö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: restartedKö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. ✅
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
- Utforma projektet: roller och inventory
- Tillhandahåll, härda och bootstrap:a värdar
- Rullande utrullning bakom lastbalanseraren
- Smoke-tester, återställning och notifieringar