Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bruk Ansible for å Konfigurere en Lokal Webserver | Automatisering av Infrastruktur i DevOps
Introduksjon til DevOps

bookBruk Ansible for å Konfigurere en Lokal Webserver

Du vil lære hvordan du kobler til en ekstern Ubuntu-server og administrerer den ved hjelp av Ansible. Vi skal lage konfigurasjonsfiler som lar deg automatisere rutineoppgaver. Som et eksempel skal vi oppdatere package index og installere Git — det første steget i å klargjøre en server for utvikling eller DevOps-oppgaver.

Note
Merk

Hvis du bruker Windows, kjør disse kommandoene i wsl. Hvis du bruker macOS eller Linux, kan du bare bruke terminalen.

Installere Ansible

Før du begynner, må du sørge for at Ansible er installert på maskinen din:

sudo apt update
sudo apt install ansible -y

Den første kommandoen, sudo apt update, oppdaterer systemets pakkeliste slik at det kjenner til de nyeste tilgjengelige programvareversjonene. Deretter installerer sudo apt install ansible -y Ansible på maskinen din, og bekrefter installasjonen automatisk uten at du må skrive "yes".

Opprette konfigurasjonsfiler

Først må du sette opp en liste over servere som Ansible skal koble til. For dette oppretter du en inventarfil kalt hosts.ini:

Lim inn følgende:

hosts.ini

hosts.ini

copy

[ubuntu_container] — gruppen av verter som Ansible skal administrere;

localhost — vertens adresse (i dette tilfellet din lokale maskin som kjører Docker-containeren);

ansible_port=2222SSH-porten for tilkoblingen;

ansible_user=root og ansible_password=root — legitimasjon for SSH-pålogging;

ansible_connection=ssh — instruerer Ansible til å bruke SSH for å kjøre kommandoer.

Filen hosts.ini angir hvor Ansible skal koble til og hvilke parametere som skal brukes. Uten denne filen kan ikke et playbook finne serveren eller utføre oppgaver.

Playbook setup.yml

Deretter oppretter du automatiseringsskriptet, eller playbooken, setup.yml:

Lim inn:

setup.yml

setup.yml

copy

Filen setup.yml definerer oppgavene Ansible skal utføre på serveren.

  • name: Configure Ubuntu container — tittelen på playbooken;

  • hosts: ubuntu_container — gruppen av verter fra hosts.ini;

  • become: true — kjør kommandoer som superbruker (root);

  • tasks — en liste over handlinger som vil bli utført i rekkefølge.

I dette eksempelet oppdateres pakkeindeksen og Git installeres.

Ansible-konfigurasjon

Til slutt konfigureres Ansible selv. Filen ansible.cfg tilpasser Ansible sin oppførsel. Opprett ansible.cfg:

Lim inn:

ansible.cfg

ansible.cfg

copy

I dette tilfellet deaktiverer vi SSH-vertsnøkkelkontroll. Vanligvis verifiserer Ansible serverens fingeravtrykk for å sikre en trygg tilkobling. For denne veiledningen gjør dette prosessen enklere, siden vi bruker en midlertidig Docker-container.

Testing av tilkoblingen

Når du har opprettet alle konfigurasjonsfilene, er det viktig å kontrollere at alt er satt opp riktig. Dette sikrer at Ansible kan koble til din eksterne Ubuntu-server og utføre oppgaver som forventet.

Når du kjører denne kommandoen, prøver Ansible å koble til din Ubuntu-container via SSH ved å bruke legitimasjonen og porten som er spesifisert i hosts.ini. Hvis alt er satt opp riktig, vil du se:

Nå er det på tide å kjøre playbooken for alvor, siden tilkoblingssjekken var vellykket og du kan være trygg på at alt vil fungere som det skal.

Når denne kommandoen kjøres, vil Ansible koble til den eksterne Ubuntu-serveren via SSH, heve privilegiene ved å bruke become: true, og utføre alle oppgaver sekvensielt. I dette eksemplet oppdateres først pakkeregisteret slik at systemet kjenner til de nyeste programvareversjonene, og deretter installeres Git.

Etter at playbooken er fullført, kan du verifisere at Git ble installert på Ubuntu-serveren. Koble først til serveren ved hjelp av SSH:

Deretter kontrollerer du den installerte Git-versjonen:

Hvis alt fungerte som det skulle, vil du se Git-versjonen, noe som bekrefter at playbooken ble kjørt vellykket.

1. Hva er formålet med hosts.ini-filen i Ansible?

2. Hvorfor brukes become: true i playbooken?

question mark

Hva er formålet med hosts.ini-filen i Ansible?

Select the correct answer

question mark

Hvorfor brukes become: true i playbooken?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 6

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

What should I do if the Ansible ping command fails?

Can I add more tasks to the setup.yml playbook?

How do I manage multiple servers with this setup?

Awesome!

Completion rate improved to 3.7

bookBruk Ansible for å Konfigurere en Lokal Webserver

Sveip for å vise menyen

Du vil lære hvordan du kobler til en ekstern Ubuntu-server og administrerer den ved hjelp av Ansible. Vi skal lage konfigurasjonsfiler som lar deg automatisere rutineoppgaver. Som et eksempel skal vi oppdatere package index og installere Git — det første steget i å klargjøre en server for utvikling eller DevOps-oppgaver.

Note
Merk

Hvis du bruker Windows, kjør disse kommandoene i wsl. Hvis du bruker macOS eller Linux, kan du bare bruke terminalen.

Installere Ansible

Før du begynner, må du sørge for at Ansible er installert på maskinen din:

sudo apt update
sudo apt install ansible -y

Den første kommandoen, sudo apt update, oppdaterer systemets pakkeliste slik at det kjenner til de nyeste tilgjengelige programvareversjonene. Deretter installerer sudo apt install ansible -y Ansible på maskinen din, og bekrefter installasjonen automatisk uten at du må skrive "yes".

Opprette konfigurasjonsfiler

Først må du sette opp en liste over servere som Ansible skal koble til. For dette oppretter du en inventarfil kalt hosts.ini:

Lim inn følgende:

hosts.ini

hosts.ini

copy

[ubuntu_container] — gruppen av verter som Ansible skal administrere;

localhost — vertens adresse (i dette tilfellet din lokale maskin som kjører Docker-containeren);

ansible_port=2222SSH-porten for tilkoblingen;

ansible_user=root og ansible_password=root — legitimasjon for SSH-pålogging;

ansible_connection=ssh — instruerer Ansible til å bruke SSH for å kjøre kommandoer.

Filen hosts.ini angir hvor Ansible skal koble til og hvilke parametere som skal brukes. Uten denne filen kan ikke et playbook finne serveren eller utføre oppgaver.

Playbook setup.yml

Deretter oppretter du automatiseringsskriptet, eller playbooken, setup.yml:

Lim inn:

setup.yml

setup.yml

copy

Filen setup.yml definerer oppgavene Ansible skal utføre på serveren.

  • name: Configure Ubuntu container — tittelen på playbooken;

  • hosts: ubuntu_container — gruppen av verter fra hosts.ini;

  • become: true — kjør kommandoer som superbruker (root);

  • tasks — en liste over handlinger som vil bli utført i rekkefølge.

I dette eksempelet oppdateres pakkeindeksen og Git installeres.

Ansible-konfigurasjon

Til slutt konfigureres Ansible selv. Filen ansible.cfg tilpasser Ansible sin oppførsel. Opprett ansible.cfg:

Lim inn:

ansible.cfg

ansible.cfg

copy

I dette tilfellet deaktiverer vi SSH-vertsnøkkelkontroll. Vanligvis verifiserer Ansible serverens fingeravtrykk for å sikre en trygg tilkobling. For denne veiledningen gjør dette prosessen enklere, siden vi bruker en midlertidig Docker-container.

Testing av tilkoblingen

Når du har opprettet alle konfigurasjonsfilene, er det viktig å kontrollere at alt er satt opp riktig. Dette sikrer at Ansible kan koble til din eksterne Ubuntu-server og utføre oppgaver som forventet.

Når du kjører denne kommandoen, prøver Ansible å koble til din Ubuntu-container via SSH ved å bruke legitimasjonen og porten som er spesifisert i hosts.ini. Hvis alt er satt opp riktig, vil du se:

Nå er det på tide å kjøre playbooken for alvor, siden tilkoblingssjekken var vellykket og du kan være trygg på at alt vil fungere som det skal.

Når denne kommandoen kjøres, vil Ansible koble til den eksterne Ubuntu-serveren via SSH, heve privilegiene ved å bruke become: true, og utføre alle oppgaver sekvensielt. I dette eksemplet oppdateres først pakkeregisteret slik at systemet kjenner til de nyeste programvareversjonene, og deretter installeres Git.

Etter at playbooken er fullført, kan du verifisere at Git ble installert på Ubuntu-serveren. Koble først til serveren ved hjelp av SSH:

Deretter kontrollerer du den installerte Git-versjonen:

Hvis alt fungerte som det skulle, vil du se Git-versjonen, noe som bekrefter at playbooken ble kjørt vellykket.

1. Hva er formålet med hosts.ini-filen i Ansible?

2. Hvorfor brukes become: true i playbooken?

question mark

Hva er formålet med hosts.ini-filen i Ansible?

Select the correct answer

question mark

Hvorfor brukes become: true i playbooken?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 6
some-alt