Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Brug Ansible til at konfigurere en lokal webserver | Automatisering af Infrastruktur i DevOps
Introduktion til DevOps

bookBrug Ansible til at konfigurere en lokal webserver

Du vil lære, hvordan du opretter forbindelse til en fjern Ubuntu-server og administrerer den ved hjælp af Ansible. Vi opretter konfigurationsfiler, der gør det muligt at automatisere rutineopgaver. Som eksempel vil vi opdatere pakkeindekset og installere Git — det første skridt i forberedelsen af en server til udvikling eller DevOps-opgaver.

Note
Bemærk

Hvis du bruger Windows, skal du køre disse kommandoer i wsl. Hvis du bruger macOS eller Linux, kan du blot bruge terminalen.

Installation af Ansible

Før du går i gang, skal du sikre dig, at Ansible er installeret på din maskine:

sudo apt update
sudo apt install ansible -y

Den første kommando, sudo apt update, opdaterer systemets pakkeliste, så den kender til de nyeste tilgængelige softwareversioner. Derefter installerer sudo apt install ansible -y Ansible på din maskine og bekræfter automatisk installationen uden at bede dig om at skrive "yes".

Oprettelse af konfigurationsfiler

Først skal du oprette en liste over servere, som Ansible skal oprette forbindelse til. Til dette formål opretter du en inventarfil kaldet hosts.ini:

Indsæt følgende:

hosts.ini

hosts.ini

copy

[ubuntu_container] — gruppen af værter, som Ansible skal administrere;

localhost — værtsadressen (i dette tilfælde din lokale maskine, der kører Docker-containeren);

ansible_port=2222SSH-porten til forbindelsen;

ansible_user=root og ansible_password=root — legitimationsoplysninger til SSH-login;

ansible_connection=ssh — instruerer Ansible i at bruge SSH til at køre kommandoer.

Filen hosts.ini angiver, hvor Ansible skal oprette forbindelse, og hvilke parametre der skal bruges. Uden denne fil kan et playbook ikke finde serveren eller udføre opgaver.

Playbook setup.yml

Dernæst oprettes automatiseringsscriptet, eller playbooken, setup.yml:

Indsæt følgende:

setup.yml

setup.yml

copy

Filen setup.yml definerer de opgaver, Ansible skal udføre på serveren.

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

  • hosts: ubuntu_container — gruppen af værter fra hosts.ini;

  • become: true — kør kommandoer som superbruger (root);

  • tasks — en liste over handlinger, der udføres i rækkefølge.

I dette eksempel opdateres pakkeindekset og Git installeres.

Ansible-konfiguration

Til sidst konfigureres Ansible selv. Filen ansible.cfg tilpasser Ansibles opførsel. Opret ansible.cfg:

Indsæt følgende:

ansible.cfg

ansible.cfg

copy

I dette tilfælde deaktiverer vi SSH-værtsnøglekontrol. Normalt verificerer Ansible serverens fingeraftryk for at sikre en sikker forbindelse. For denne vejledning gør det processen enklere, da vi bruger en midlertidig Docker-container.

Test af forbindelsen

Når du har oprettet alle konfigurationsfilerne, er det vigtigt at kontrollere, at alt er sat korrekt op. Dette sikrer, at Ansible kan oprette forbindelse til din eksterne Ubuntu-server og udføre opgaver som forventet.

Når du kører denne kommando, forsøger Ansible at oprette forbindelse til din Ubuntu-container via SSH ved hjælp af de legitimationsoplysninger og den port, der er angivet i hosts.ini. Hvis alt er sat korrekt op, vil du se:

Nu er det tid til at køre playbooken for alvor, da forbindelsestesten var vellykket, og du kan være sikker på, at alt vil fungere korrekt.

Når denne kommando køres, vil Ansible oprette forbindelse til den eksterne Ubuntu-server via SSH, forhøje privilegier ved hjælp af become: true, og udføre alle opgaver sekventielt. I dette eksempel opdateres først pakkelisten, så systemet kender til de nyeste softwareversioner, og derefter installeres Git.

Når playbooken er færdig, kan du verificere, at Git blev installeret på Ubuntu-serveren. Først forbind til serveren via SSH:

Kontroller derefter den installerede Git-version:

Hvis alt fungerede korrekt, vil du se Git-versionen, hvilket bekræfter, at playbooken blev udført med succes.

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

2. Hvorfor bruges become: true i playbooken?

question mark

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

Select the correct answer

question mark

Hvorfor bruges become: true i playbooken?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 3.7

bookBrug Ansible til at konfigurere en lokal webserver

Stryg for at vise menuen

Du vil lære, hvordan du opretter forbindelse til en fjern Ubuntu-server og administrerer den ved hjælp af Ansible. Vi opretter konfigurationsfiler, der gør det muligt at automatisere rutineopgaver. Som eksempel vil vi opdatere pakkeindekset og installere Git — det første skridt i forberedelsen af en server til udvikling eller DevOps-opgaver.

Note
Bemærk

Hvis du bruger Windows, skal du køre disse kommandoer i wsl. Hvis du bruger macOS eller Linux, kan du blot bruge terminalen.

Installation af Ansible

Før du går i gang, skal du sikre dig, at Ansible er installeret på din maskine:

sudo apt update
sudo apt install ansible -y

Den første kommando, sudo apt update, opdaterer systemets pakkeliste, så den kender til de nyeste tilgængelige softwareversioner. Derefter installerer sudo apt install ansible -y Ansible på din maskine og bekræfter automatisk installationen uden at bede dig om at skrive "yes".

Oprettelse af konfigurationsfiler

Først skal du oprette en liste over servere, som Ansible skal oprette forbindelse til. Til dette formål opretter du en inventarfil kaldet hosts.ini:

Indsæt følgende:

hosts.ini

hosts.ini

copy

[ubuntu_container] — gruppen af værter, som Ansible skal administrere;

localhost — værtsadressen (i dette tilfælde din lokale maskine, der kører Docker-containeren);

ansible_port=2222SSH-porten til forbindelsen;

ansible_user=root og ansible_password=root — legitimationsoplysninger til SSH-login;

ansible_connection=ssh — instruerer Ansible i at bruge SSH til at køre kommandoer.

Filen hosts.ini angiver, hvor Ansible skal oprette forbindelse, og hvilke parametre der skal bruges. Uden denne fil kan et playbook ikke finde serveren eller udføre opgaver.

Playbook setup.yml

Dernæst oprettes automatiseringsscriptet, eller playbooken, setup.yml:

Indsæt følgende:

setup.yml

setup.yml

copy

Filen setup.yml definerer de opgaver, Ansible skal udføre på serveren.

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

  • hosts: ubuntu_container — gruppen af værter fra hosts.ini;

  • become: true — kør kommandoer som superbruger (root);

  • tasks — en liste over handlinger, der udføres i rækkefølge.

I dette eksempel opdateres pakkeindekset og Git installeres.

Ansible-konfiguration

Til sidst konfigureres Ansible selv. Filen ansible.cfg tilpasser Ansibles opførsel. Opret ansible.cfg:

Indsæt følgende:

ansible.cfg

ansible.cfg

copy

I dette tilfælde deaktiverer vi SSH-værtsnøglekontrol. Normalt verificerer Ansible serverens fingeraftryk for at sikre en sikker forbindelse. For denne vejledning gør det processen enklere, da vi bruger en midlertidig Docker-container.

Test af forbindelsen

Når du har oprettet alle konfigurationsfilerne, er det vigtigt at kontrollere, at alt er sat korrekt op. Dette sikrer, at Ansible kan oprette forbindelse til din eksterne Ubuntu-server og udføre opgaver som forventet.

Når du kører denne kommando, forsøger Ansible at oprette forbindelse til din Ubuntu-container via SSH ved hjælp af de legitimationsoplysninger og den port, der er angivet i hosts.ini. Hvis alt er sat korrekt op, vil du se:

Nu er det tid til at køre playbooken for alvor, da forbindelsestesten var vellykket, og du kan være sikker på, at alt vil fungere korrekt.

Når denne kommando køres, vil Ansible oprette forbindelse til den eksterne Ubuntu-server via SSH, forhøje privilegier ved hjælp af become: true, og udføre alle opgaver sekventielt. I dette eksempel opdateres først pakkelisten, så systemet kender til de nyeste softwareversioner, og derefter installeres Git.

Når playbooken er færdig, kan du verificere, at Git blev installeret på Ubuntu-serveren. Først forbind til serveren via SSH:

Kontroller derefter den installerede Git-version:

Hvis alt fungerede korrekt, vil du se Git-versionen, hvilket bekræfter, at playbooken blev udført med succes.

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

2. Hvorfor bruges become: true i playbooken?

question mark

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

Select the correct answer

question mark

Hvorfor bruges become: true i playbooken?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 6
some-alt